
pinky - PHP 미니 RAT (원격 관리 도구)
웹쉘을 업로드하는 것은 웹 취약점을 악용한 후 거의 항상 다음 단계이지만, Cloudflare와 같은 서비스와 새로운 세대의 방화벽은 공격자가 HTTP 또는 HTTPS를 통해 대상에서 명령을 실행하는 것을 매우 잘 막습니다. 반면에, 텍스트 콘텐츠 필터링 및 허용 목록 애플리케이션 정책은 최소한의 노력으로 쉽게 악용될 수 있으며, pinky는 그 PoC입니다.
첫째, pinky는 시스템 명령을 실행할 수 있는 함수가 무엇인지 찾으려고 시도합니다; 가장 좋은 php 함수를 찾은 후에는 모든 통신이 암호화되므로, 방화벽이 트래픽을 읽을 수 있도록 활성화되어 있어도 악성 활동인지 여부를 판단할 수 없습니다. 또한, pinky는 모든 종류의 프록시를 통해 통신할 수 있습니다. 이에 더해, 다른 사람들이 pinky의 에이전트와 통신하는 것을 방지하기 위해 기본 인증(완전히 안전하지는 않지만, 알고 있습니다!)을 보내야 합니다.
$ git clone [email protected]:davidtavarez/pinky.git
Cloning into 'pinky'...
remote: Counting objects: 223, done.
remote: Compressing objects: 100% (79/79), done.
remote: Total 223 (delta 54), reused 72 (delta 27), pack-reused 103
Receiving objects: 100% (223/223), 385.73 KiB | 73.00 KiB/s, done.
Resolving deltas: 100% (101/101), done.
$ cd pinky
$ php pinky.php
_ _
_ __ (_)_ __ | | ___ _
| '_ \| | '_ \| |/ / | | |
| |_) | | | | | <| |_| |
| .__/|_|_| |_|_|\_\__, |
|_| |___/ v2.0
The PHP Mini RAT.
+ Author: David Tavarez
+ Twitter: @davidtavarez
+ Website: https://davidtavarez.github.io/
+[WARNING]------------------------------------------+
| DEVELOPERS ASSUME NO LIABILITY AND ARE NOT |
| RESPONSIBLE FOR ANY MISUSE OR DAMAGE CAUSED BY |
| THIS PROGRAM ¯\_(ツ)_/¯ |
+---------------------------------------------------+
[-] I need a json file containing the settings.
먼저, 대상에서 발견된 취약점을 악용하세요.
이제 내장 생성기를 사용하여 에이전트를 생성할 준비가 되었습니다:

결과가 꽤 좋기 때문에 Obfuscator-Class (by Pierre-Henry Soria)를 사용하여 에이전트를 난독화하고 있습니다.

에이전트가 생성된 후, 대상 머신에 업로드하고 이전에 생성된 json 파일에 URL을 붙여넣어야 합니다. 원한다면(그리고 반드시 그래야 합니다), SOCKS5 프록시를 사용하려면 설정을 추가해야 합니다:
{
"key":"[KEY]",
"url":"[URL]",
"login":{
"username":"[LOGIN]",
"password":"[PASSWORD]"
},
"proxy":{
"ip":"127.0.0.1",
"port":9150,
"type":"SOCKS5"
},
"cookies": "[COOKIES]"
}
마지막 단계는 에이전트를 업로드하고, 터미널을 열어 json 파일을 매개변수로 전달하는 것입니다.
$ php pinky.php config.json


기여하려면, 이 프로젝트를 포크하고, master에서 새 브랜치를 만든 후 PR을 보내주세요. 또한 Wiki에 더 많은 페이지를 추가하여 기여할 수도 있습니다 :)