0 개요 :
FBI와 CISA는 사이버 보안 권고(CSA)를 통해 Androxgh0st 악성코드를 배포하는 위협 행위자들과 관련된 알려진 침해 지표(IOCs)와 전술 기법 및 절차(TTPs)를 전파합니다. 다양한 신뢰할 수 있는 제 3자 보고를 통해 이러한 IOC와 TTP가 수집되었으며, 이는 Androxgh0st 악성코드가 취약한 네트워크를 식별하고 침해할 수 있는 봇넷을 구축할 수 있음을 보여줍니다.
1. Androxgh0st 악성코드 :
Androxgh0st 악성코드는 파이썬으로 작성되었는데 이는 봇넷(T1583.005)를 통해 표적 네트워크에서 피해자를 식별하고 착취합니다.
.env파일을 타겟으로 잡고 민감한 정보(AWS, Microsoft Office 365 등)을 포함하는 .env 파일을 대상으로 작동합니다.
PHPUnit을 통해 웹사이트에서 PHP코드를 원격으로 실행할 수 있게 하는 CVE-2017-9841 취약점을 악용하는 것으로 관찰되었습니다. 이 PHPUnit 모듈을 사용하는 웹사이트(/vendor 폴더가 존재해야함) /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php Uniform Resource Identifier (URI)로 악의적인 HTTP POST 요청을 받게 됩니다.
이 PHP 페이지는 POST 요청을 통해 제출된 PHP코드를 실행하며, 이 위협 행위자는 웹사이트에서 코드를 원격으로 실행할 수 있습니다.
2. Androxgh0st 악성코드의 타겟
- PHPUnit 모듈의 CVE-2017-9841 취약점을 이용해 원격 실행
- 라라벨(Laravel) 프레임워크를 타겟으로 잡아서 .env파일이 노출되었는지 여부 확인 및 추가 서비스 접근하기 위한 자격 증명이 포함되어 있는지 확인
- Apache 웹 서버 타겟을 잡는데 CVE-2021-41773과 관련하여, Apache HTTP서버 버전이 2.4.49, 2.4.50을 실행하는 취약한 웹서버를 스캔합니다.
위 타겟 들 방법을 사용해서 어떤 서비스의 자격 증명을 획득한 경우, 예로 위협 행위자들이 취약한 웹 사이트에서 AWS 자격 증명을 성공적으로 식별하고 침해하는 경우, 새로운 사용자 및 사용자 정책을 만드는 시도가 관찰되었습니다. 또 추가 스캔을 위해 새로운 AWS 인스턴스를 만드는 것이 관찰되었습니다.
3. 침해 지표(IOC)
• 다음 URI로의 수신 GET 및 POST 요청:
• /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
• /.env
• 다음 문자열을 포함하는 수신 POST 요청:
• [0x%5B%5D=androxgh0st]
• ImmutableMultiDict([('0x[]', 'androxgh0st')])
위에 나열된 POST 요청 문자열에서 androxgh0st라는 이름은 다른 명칭으로 대체되어 사용된 것으로 관찰되었습니다. 해당 이름 대신해 사용된 이름들이 Ridho, Aws, 0x_0x, x_X, nopebee7 등이 있습니다.
이 외에도 위협 행위자들이 사용하는 많은 추가 URL도 모았습니다.
/info
/phpinfo
/phpinfo.php
/?phpinfo=1
/frontend_dev.php/$
/_profiler/phpinfo
/debug/default/view?panel=config
등등
웹 쉘 드롭을 위한 대상 URL도 많이 모았습니다.
/.env/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
//api/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
//backup/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
//blog/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
등등
(허니팟)오픈 프록시를 통한 자격 증명 유출 시도 예 :
POST /.aws/credentials HTTP/1.1
host: www.example.com
user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36
accept-encoding: gzip, deflate
accept: */*
connection: keep-alive
content-length: 20
content-type: application/x-www-form-urlencoded
0x%5B%5D=androxgh0st
(허니팟) 오픈 프록시를 통해 시도된 웹 쉘 드롭의 예 :
GET http://www.example.com/lib/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1
host: www.example.com
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76
accept-encoding: gzip, deflate
accept: */*
connection: keep-alive
x-forwarded-for: 200.172.238.135
content-length: 279
4. 대응
- 모든 운영체제, 소프트웨어 펌웨어를 최신 상태로 유지, 특히 아파치 서버가 2.4.49, 2.4.50을 실행하고 있는지 확인하기
- 모든 URL 기본 구성이 엑세스 가능해야 하는 특별한 요구가 없는 한 모든 요청을 거부 하는 것인지 확인하기
- 라라벨 프레임워크가 디버그, 테스트 모드에 있지 않은지, .env를 제거 하고 취소하기
- /vendor/phpunit/phpunit/src/Util/PHP파일에서 인식할 수 없는 PHP파일이 있는지 검색
- .php파일을 호스팅 사이로 나가는 GET요청으로 검토하기
참고 :
https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-016a
'악성코드 분석' 카테고리의 다른 글
IDA Pro 7.6, Python 3.9, Npcap, scapy 런타임 오류 (0) | 2024.06.05 |
---|---|
IDA Python - socket, whois 모듈 예제 (0) | 2024.05.19 |
IDA pro 7.6 - Python(3.9) api 실제 사용 간단 예제 모음 2024ver (0) | 2024.05.15 |
IDA Python API 모듈 정리 + 사용법 (python 3.9 ver) (0) | 2024.05.12 |
IDA Pro 7.6 플러그인 설치 방법 - Python3.9(IDA Python) (0) | 2024.05.06 |