黑客网站渗透入侵破解拿权限
10.5K subscribers
2.38K photos
108 links
Download Telegram
先通过NtQuerySystemInformation来获取所有进程打开的句柄。

使用具有PROCESS_DUP_HANDLE权限的OpenProcess打开进程。

使用NtDuplicateObject来获取远程进程副本。

再通过NtQueryObject来获取句柄的信息。

最后通过QueryFullProcessImageName显示进程完整路径加以判断。

首先是通过NtQuerySystemInformation检索SystemHandleInformation(16)获取所有进程的句柄。

这里用PSYSTEM_HANDLE_INFORMATION结构体存放所有进程句柄的信息,所以我们遍历这个结构体即可。

接着,遍历刚刚获取到的进程句柄,通过NtDuplicateObject来Duplicate句柄。

最后通过NtQueryObject获取进程的信息,使用QueryFullProcessImageName获取进程的完整路径判断是否为lsass进程的句柄,如果是则返回,否则继续遍历句柄。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
未授权访问漏洞的利用链:一口气到getshell的实践

操作步骤
2.1 其他突破——AJP任意文件读取
2.1.1 Nmap扫描端口:

可以看到操作系统版本Windows Server2008,比较老,或许后面能利用上永恒之蓝MS17010,永恒Blue等漏洞。

关注到8009端口 开放了AJP 尝试AJP任意文件读取漏洞

利用POC ajp任意文件读取POC验证了该漏洞确实存在

进一步读取敏感配置目录,发现MySQL数据库账户密码 mysql:password

数据库写webshell
成功登录数据库:
查看是否具备该mysql账户是否具备FILE权限:
查看是否允许任意位置写文件,secure_file_priv字段要为空或指定目录才可以
成功写入文件到主机
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
1
可以看到靶场并无脚本源码,且那么就减少了很多黑盒测试点,而且靶场必定会存在漏洞这也是与实战的重大区别之一,而且很容易就爆破成功

本靶场后台功能极其简单只有一个功能点,且一看就是要测试RCE

会有很多模块,很多功能需要测试,对这种后台打点通常会先尝试文件上传漏洞,因为上传点更容易寻找,而RCE测试点则极为复杂,通常会在例如"系统""命令"等字段的模块,但其实所有模块都可能存在RCE,因为模块本身就是前端与后台执行功能的地方,黑盒测试你无法从前端界面直接看出究竟哪个模块调用了执行命令的参数。

所以黑盒测试RCE需要将前端功能点转换为数据包,从接口,参数进行测试。

DC-5

探测:nmap扫端口,dirsearch扫目录,指纹识别

打点:在扫出来的目录中翻阅时发现存在文件包含,直接以file参数读取成功。

确定为本地包含后,找到靶机日志,将webshell写入日志,getshell成功。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
nmap探测IP端口服务,修改本地DNS文件访问靶场IP网站(找到crew字段),通过目录扫描找到后台登录口。

打点:通过cewl对网站定向搜集获取密码,通过CMS对应WPscan插件获取用户名,联合爆破进入后台。(jerry及tom的账号密码)

翻看后台提示后放弃wordpress历史漏洞,尝试ssh连接

jerry的ssh连接不上,tom连接成功(已得到的账号密码)

深入:直接SSH登录成功,执行命令发现rbash限制

自然想到rbash逃逸,逃逸成功后拿到flag3

此时用su进行用户tom转换可以成功,拿到flag4后根据git字段提示,进行git提权拿到最后的flag

很多IP经过nmap扫描后发现只会开放80端口,且80端口为主站,渗透难度极大,且我用dirsearch等工具扫目录很少能扫出有用的目录。

在找脆弱资产时还需要结合关键字,资产搜索引擎,google语法等搜索:

例如这个站:(浙大某脆弱资产)只能通过google语法site:xxx搜索出来,因为直接访问域名为404界面,路径极其复杂无法爆破,资产搜索引擎没有记录。

登录管理员后台成功,找到上传点直接getshell。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
- 全局变量
% - 局部变量
alloca - 在当前执行的函数的堆栈帧中分配内存,当该函数返回到其调用者时,将自动释放内存
i32 - 32位4字节的整数
align - 对齐
load - 读出,store写入
icmp - 两个整数值比较,返回布尔值
br - 选择分支,根据条件来转向label,不根据条件跳转的话类型goto
label - 代码标签
call - 调用函数
首先看到一些全局变量,知道了RC4_key = llvmbitccipher = "TSzkWKgbMHszXajkLBmRrnTxsNtZsSOtZzqYikCw="

我们继续分析,重点分析各个function

b64encode
b64encode 魔改

每三个字符,24位,切分成4断,每段6位。

将6位对应的值 (value+ 59)&0xff 则是编码后的值。

RC4_init
RC4_init 正常,无魔改

main
main函数逻辑cipher -->RC4_init-->RC4_enc-->RC4_enc-->b64encode需要注意一下在RC4_enc的参数中,传入的数据块长度是固定的16,所以说程序进行两次RC4_enc的原因也就确定了,是为了分两次对程序进行加密,也算是一点点小手段,总之,即使让你好好分析.II代码,考察对软件分析的细节,耐心,嘻嘻。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
1