
HTML 파일에 모든 파일을 삽입하고 숨기기
저자: Arno0x0x - @Arno0x0x
이 도구는 파일(모든 유형의 파일)을 가져와 암호화한 후, 리소스로 HTML 파일에 임베드하고, 임베드된 리소스를 사용자가 클릭하는 것을 시뮬레이션하는 자동 다운로드 루틴을 함께 제공합니다.
그런 다음 사용자가 HTML 파일을 탐색하면 임베드된 파일이 즉시 복호화되어 임시 폴더에 저장되며, 마치 원격 사이트에서 다운로드되는 것처럼 사용자에게 제공됩니다. 사용자의 브라우저와 표시된 파일 유형에 따라 파일이 브라우저에 의해 자동으로 열릴 수 있습니다.
이 도구는 두 가지 버전으로 제공되며, 동일한 전체 기능을 제공하지만 사용 방식에 약간의 차이가 있습니다:
파이썬 스크립트: 템플릿을 기반으로 출력 HTML 파일을 생성하며, RC4 암호화 루틴을 사용하고 복호화 키를 출력 파일 내에 임베드합니다. 생성된 HTML은 대상 사용자가 브라우징하거나 첨부 파일로 보낼 수 있습니다.
HTML/Javascript: 파일을 드래그하여 암호화할 수 있으며, WebCrypto API를 사용하여 출력 HTML 파일을 생성하지만 복호화 자료(키와 카운터)는 임베드하지 않습니다. 대신 복호화 자료는 결과 HTML 파일을 가리키는 URL에 추가할 URL 매개변수 세트로 표시됩니다: http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter. 따라서 결과 HTML 파일은 첨부 파일로 보낼 수 없습니다.
이 기술의 주요 장점은 복호화 자료가 파일 자체에 임베드되지 않으므로 전체 URL을 가지고 있지 않은 시스템(예: 중간 프록시)에서의 분석 및 페이로드 검색을 방지할 수 있다는 점입니다.
참고 사항:
이 도구는 훌륭한 'demiguise' 도구에서 영감을 받아 파생되었습니다: https://github.com/nccgroup/demiguise
XLL 파일의 바이너리 입력에 사용된 b64AndRC4 함수는 다음의 혼합입니다: https://gist.github.com/borismus/1032746 및 https://gist.github.com/farhadi/2185197
쉬운 악성 XLL 생성을 위해 https://gist.github.com/Arno0x/f71a9db515ddea686ccdd77666bebbaa를 확인하세요. 이 방법으로 전달하려는 악성 문서의 완벽한 예입니다.
HTML 템플릿(html.tpl 파일)에서는 'keyFunction' 대신 아래에 자신만의 키 환경 유도 함수를 삽입하는 것이 좋습니다. 환경에서 키를 유도하여 의도한 대상에서만 작동하도록 해야 합니다(샌드박스에서는 작동하지 않음).
몇 가지 페이로드 예제 파일이 payloads_examples 디렉토리에 제공됩니다. 예를 들어 calc.xll은 calc.exe 프로세스를 실행하기 위한 x86 프로세스용 metasploit 셸코드를 포함하는 Excel 추가 기능(XLL) 파일입니다.
파이썬 스크립트 사용
1/ XLL 파일로부터 비밀 키와 함께 악성 HTML 파일을 생성합니다:
python embedInHTML.py -k mysecretkey -f example_calc.xll -o index.html
2/ 웹 서버에 HTML 파일을 노출합니다(-w 플래그로 선택적으로 서버를 시작할 수 있습니다)
HTML/Javascript 사용
1/ 브라우저에서 embedInHTML.html 파일을 엽니다
2/ 페이로드 파일을 페이지로 드래그하기만 하면 됩니다(선택적으로 출력 파일 이름을 변경할 수 있습니다)
3/ 결과 파일을 저장하고, 파일 이름에 추가할 URL 매개변수 형태의 복호화 자료를 기록해 두세요: http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter
마지막으로...
대상의 브라우저를 HTML 파일로 연결하면 마법이 일어납니다:
이 도구는 법적이고 합법적인 방식으로만 사용하도록 의도되었습니다:
Empire 저자의 말을 인용하자면: 악의적인 행위자가 남용하는 것을 동시에 방지하면서 합법적인 정보보안 업계에 유용한 공격 도구를 구축할 방법은 없습니다.