
NetRipper - 침투 테스터를 위한 스마트 트래픽 스니핑
NetRipper는 Windows 시스템을 대상으로 하는 사후 익스플로잇 도구로, API 후킹을 사용하여 낮은 권한의 사용자로부터 네트워크 트래픽과 암호화 관련 함수를 가로채며, 암호화 전/복호화 후에 일반 텍스트 트래픽과 암호화된 트래픽을 모두 캡처할 수 있습니다.
NetRipper는 네바다주 라스베이거스에서 열린 Defcon 23에서 공개되었습니다.
상호 사전 동의 없이 대상을 공격하기 위해 NetRipper를 사용하는 것은 불법입니다. 최종 사용자는 모든 해당 지역, 주 및 연방 법률을 준수할 책임이 있습니다. 개발자는 어떠한 책임도 지지 않으며, 이 프로그램으로 인한 오용이나 손해에 대해 책임을 지지 않습니다!
침투 테스트에서 사후 익스플로잇 활동은 테스터가 완전히 패치되고 잘 구성된 Windows 시스템에서 낮은 권한을 가진 경우 어려울 수 있습니다. 이 작업은 낮은 권한에도 불구하고 손상된 머신의 애플리케이션 네트워크 트래픽을 스니핑하여 유용한 정보를 찾는 데 도움이 되는 기술을 제시합니다. 또한 암호화된 트래픽도 암호화 계층으로 보내지기 전에 캡처되므로 모든 트래픽(일반 텍스트 및 암호화)을 스니핑할 수 있습니다. 이 기술의 구현은 NetRipper라는 도구로, 위에서 언급한 작업을 수행하기 위해 API 후킹을 사용하며 특히 침투 테스트에서 사용하도록 설계되었지만, 개념은 직원의 네트워크 트래픽을 모니터링하거나 악성 애플리케이션을 분석하는 데에도 사용될 수 있습니다.
NetRipper는 Putty, WinSCP, SQL Server Management Studio, Microsoft Outlook, Google Chrome, Mozilla Firefox 및 기타 여러 도구로부터 네트워크 트래픽을 캡처할 수 있어야 합니다. 목록은 이러한 애플리케이션에 국한되지 않지만 다른 도구는 특별한 지원이 필요할 수 있습니다.
NetRipper.exe - Configures and inject the DLL
DLL.dll - Injected DLL, hook APIs and save data to files
netripper.rb - Metasploit post-exploitation module
AppVeyor에서 자동 빌드를 제공합니다. 바이너리는 여기의 Artifacts 섹션에서 다운로드할 수 있습니다.
Injection: NetRipper.exe DLLpath.dll processname.exe
Example: NetRipper.exe DLL.dll firefox.exe
Generate DLL:
-h, --help Print this help message
-w, --write Full path for the DLL to write the configuration data
-l, --location Full path where to save data files (default TEMP)
Plugins:
-p, --plaintext Capture only plain-text data. E.g. true
-d, --datalimit Limit capture size per request. E.g. 4096
-s, --stringfinder Find specific strings. E.g. user,pass,config
Example: NetRipper.exe -w DLL.dll -l TEMP -p true -d 4096 -s user,pass
msf exploit(multi/handler) > use post/windows/gather/netripper/netripper
msf post(windows/gather/netripper/netripper) > show options
Module options (post/windows/gather/netripper/netripper):
Name Current Setting Required Description
---- --------------- -------- -----------
DATALIMIT 65535 no The number of bytes to save from requests/responses
DATAPATH TEMP no Where to save files. E.g. C:\Windows\Temp or TEMP
DLLPATH no Where to find NetRipper DLLs. Default is /usr/share/metasploit-framework...
PLAINTEXT false no True to save only plain-text data
PROCESSIDS no Process IDs. E.g. 1244,1256
PROCESSNAMES no Process names. E.g. firefox.exe,chrome.exe
SESSION yes The session to run this module on.
STRINGFINDER DEFAULT no Search for specific strings in captured data
PROCESSNAMES 또는 PROCESSIDS를 설정하고 실행하십시오.
@HarmJ0y가 NetRipper.exe의 PowerShell 구현인 Invoke-NetRipper.ps1을 추가했습니다. PowerShell 모듈은 최신 상태가 아닐 수 있습니다.
변경 로그는 "Changelog.md" 파일에서, 컴파일 지침은 "Compilation.md" 파일에서 확인할 수 있습니다.
NetRipper는 다음을 사용합니다.
Ionut Popescu (@NytroRST)