Evil-404

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


  • 首页

  • 导航

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

利用 ew 轻松穿透目标多级内网

发表于 2017-08-06 | 更新于: 2017-12-23 | 分类于 ew
字数统计: 1,528 | 阅读时长 ≈ 6

0x01 ew 快速穿透目标多级内网:

简要环境说明:

1
2
3
win2008R2 假设为目标边界web服务器,可正常访问公网
假设其公网ip为 192.168.3.23
假设其内网ip为 192.168.32.131

1
2
win2008 假设为目标内网数据库服务器,可正常访问公网
假设其内网ip为 192.168.32.170
1
2
win7 假设为自己公网的vps
假设其公网ip为 192.168.3.232
1
2
centos 5.1 假设为目标内网的一台linux机器,没有dns不能访问公网
假设其内网ip为 192.168.32.169

0x02 首先,利用ew做最简单的正向代理,其实就是大家最常用的所谓的ss:

在 win2008R2 机器上执行

1
# ew_for_Win.exe -s ssocksd -l 1080

在win7上打开Proxifier根据上面监听的端口建立正常的socks代理即可

阅读全文 »

利用 Navicat 自带的http隧道进行脱裤

发表于 2017-08-03 | 更新于: 2017-09-19 | 分类于 dump
字数统计: 1,147 | 阅读时长 ≈ 4



0x01 基本环境说明:

1
2
目标边界机器lnmp01的域名及内网ip: www.rootkit.org 192.168.32.167
目标内网中数据库[暂以mysql为例]服务器[win7]的内网ip: 192.168.32.168

1
很明显,lnmp01和win7在目标内网是可以互通的

0x02 实际脱裤可能会面临的一些困境:

1
2
3
4
5
6
想脱数据,但目标数据库不允许root用户外连,可能的原因多种多样,一般只grant到指定的ip才能连
目标站库分离[再正常不过],数据库在内网的某台机器上
即使没分离,当前的数据库用户又不允许外联,另外,由于当前数据库用户权限不够,也没法自己开启外联
即使是root,不知道什么乱七八糟的原因,没法grant允许root外连...
边界防火墙阻断外部ip对内部数据库端口[假设为3306]的访问等等....
还在为脱裤烦恼吗,嘿嘿……navicat也许可以帮到你

0x03 我们最终要实现的效果:

1
通过lnmp01这台机器,脱取内网win7机器上的所有数据

阅读全文 »

利用 ELK 深度定制实时入侵日志分析平台初步

发表于 2017-08-02 | 更新于: 2017-11-19 | 分类于 ELK
字数统计: 1,931 | 阅读时长 ≈ 9



0x01 首先,快速安装配置好jdk 1.8,因为ES基于java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# export LANG=en
# tar xf jdk-8u131-linux-x64.tar.gz
# mv jdk1.8.0_131/ /usr/local/jdk
# ll /usr/local/jdk
# chown -R root.root /usr/local/jdk/
# ll /usr/local/jdk
# vi /etc/profile
export JAVA_HOME=/usr/local/jdk/
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcat
# source /etc/profile
# java -version
# javac

0x02 再来熟悉一些必要的关于elasticsearch的基础概念:

1
索引 -> 文档 -> 分片和副本

0x03 下载配置 elasticsearch:

1
2
3
4
# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.7.2.tar.gz
# tar -xf elasticsearch-1.7.2.tar.gz
# mv elasticsearch-1.7.2 /usr/local/
# ln -s /usr/local/elasticsearch-1.7.2/ /usr/local/elasticsearch

阅读全文 »

入侵取证 [ web日志分析初步 ]

发表于 2017-08-02 | 更新于: 2017-10-23 | 分类于 log
字数统计: 3,160 | 阅读时长 ≈ 12



0x01 前言
    既然是取证, 不妨就从一个稍微全局点的角度来理解,最先应该搞清楚的, 可能就是, 到底哪些地方会留下入侵者的痕迹 , 这次单单就以最基础的web服务 [ 暂不涉及脚本引擎,数据库及系统方面的东西 ] 基本取证流程为例, 其实很简单,入侵者一般喜欢从哪里下手,就必然会在那里留下痕迹, 可能在此之前我们还需要搞清楚客户端的http数据到底都是从什么地方过来的, 有GET 的 URL 中传来的数据 , POST 中传来的数据,从http头中获取的各类客户端数据 [ 如,cookie,user-agent,Referer,X-Forwarded-For ], 像这些很基础的东西,早该在最开始部署服务的时候就想到,不然,等到真出事的那一天,自己真正能掌握的资料就着实比较少了

0x02 环境简介
    暂以 nginx 为例,一个最基本的日志格式大概是下面这个样子,当然,这种格式可能会造成你的日志文件特别大 [ 存的东西多嘛 ], 但实际部署时还是需要你根据自己的实际的业务来,这里也仅仅只是做个参考

先在指定的 server 标签中定义好cookie变量

1
2
3
4
5
6
7
8
server{
...
set $dm_cookie "";
if ($http_cookie ~* "(.+)(?:;|$)") {
set $dm_cookie $1;
}
...
}

这时再回到 nginx 主配置文件中, 引用刚刚设置的cookie变量, 这样, 头里面的那几个字段数据就都可以被记录了

1
2
3
4
5
6
7
http {
...
log_format main '$remote_addr - $remote_user [$time_local] '
' "$request" $request_body $status $body_bytes_sent '
' "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$dm_cookie" ';
...
}

阅读全文 »

如何利用 socat 更方便地穿透目标内网

发表于 2017-08-01 | 更新于: 2017-10-23 | 分类于 socat
字数统计: 1,114 | 阅读时长 ≈ 4



0x01 此次环境说明:

1
2
3
lnmp01	假设为目标DMZ段机器,等会儿会作为proxy端
假设其公网ip为 192.168.3.30
假设其内网ip为 192.168.32.167

1
2
win7  假设为目标内网机器
假设其内网ip为 192.168.32.144
1
2
本地机器
假设本地内网ip为 192.168.3.15

0x02 需要注意的一些前提条件

1
本地机器能ping通lnmp01,lnmp01和目标内网中的win7能互通

0x03 最终目的,实现双内网通信,即在我自己的内网中操作目标内网中的机器,当然,实现双内网通信的方式还有非常多,比如常用的几种方法:

1
2
3
4
5
6
最传统的是通过在vps利用lcx listen做转发,然后再在本地bind上去
另外,还是通过vps搭建vpn,本地先连到vpn内网中,再在vps上用lcx tran通过vpn内网转发到本地
还有,利用meterpreter自带的端口转发功能,当然啦,那个是通过meterpreter隧道自己来实现的,也就是说你要先把meterpreter的shell先弹回来,因为这个并非今天重点,暂不多做介绍,有兴趣可自行深度挖掘研究
再有,在一些高级点的马中也自带了各种内网代理功能....
最后,就是接下来咱们要详细说明的这种,利用socat和目标DMZ建立双向通道,然后带出目标内网中所有机器的流量
......

阅读全文 »

bypasswaf for mysql [数据库层面之特殊字符篇]

发表于 2017-08-01 | 更新于: 2017-10-23 | 分类于 bypasswaf
字数统计: 1,024 | 阅读时长 ≈ 5



0x01 先准备好用于测试库表及数据:

1
2
3
4
5
6
7
8
9
10
11
12
mysql> create database injection;
mysql> use injection;
mysql> CREATE TABLE IF NOT EXISTS `user`(
`id` INT UNSIGNED AUTO_INCREMENT,
`username` VARCHAR(30) NOT NULL,
`password` VARCHAR(40) NOT NULL,
`email` VARCHAR(40) NOT NULL,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> insert into user(username,password,email) values('gentoo','superman','sec@rootkit.org');
mysql> insert into user(username,password,email) values('arch','welcome','lin@hook.org');
mysql> insert into user(username,password,email) values('admin','loginpass','xlion@priv.org');

阅读全文 »

深入理解 https 通信加密过程

发表于 2017-08-01 | 更新于: 2017-10-15 | 分类于 https
字数统计: 1,239 | 阅读时长 ≈ 4



0x01 对对称加密的通俗理解

1
即通信的双方都使用同一个秘钥进行加解密

0x02 对非对称加密算法的通俗理解 [ RSA ]

1
2
3
4
私钥 + 公钥= 密钥对
即用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据,只有对应的私钥才能解密
其实这个很容易理解,因为通信双方的手里都有一套自己的密钥对,通信之前双方会先把自己的公钥都先发给对方
然后对方再拿着这个公钥来加密数据响应给对方,等到到了对方那里,对方再用自己的私钥进行解密,就这么简单

0x03 非对称加密所造成的速度慢的问题解决办法

1
2
(1) 先生成一个对称加密算法的密钥,用RSA的方式先安全的发给对方  
(2) 随后就不再用RSA了,只用这个对称加密的密钥来互相通信

0x04 不过,以上方式存在明显的中间人问题:

1
假设,此时在客户端和服务器之间存在一个中间人,这个中间人只需要把原本双方通信互发的公钥,换成自己的公钥,这样中间人就可以轻松解密通信双方所发送的所有数据

阅读全文 »

ModSecurity 生产级WAF部署优化 [一]

发表于 2017-08-01 | 更新于: 2017-09-24 | 分类于 ModSecurity
字数统计: 1,609 | 阅读时长 ≈ 8



0x01 用大白话来简单说明 WAF 最基本的工作流程

1
捕获客户端的各种请求 -> 匹配WAF拦截规则 -> 命中规则后的处理动作 -> 将整个拦截过程记录到指定的日志文件中 -> 脚本绘制实时攻击图表

0x02 关于modsecurity

1
2
3
4
一款老牌的开源 WAF,相信经常搞渗透的朋友,对市面上经常用的几款WAF,都早已非常熟悉,废话不多说,咱们直奔主题
本次,我们只是单单把它部署到可用的状态,关于规则深度定制,绕过以及白名单设置是我们面的事情
个人非常不建议把modsecurity和nginx一起用,实际测试中,问题还非常的多,关于nginx更推荐用naxsi[后面再单独说]
至于源码包,可自行去 modsecurity 的官方站点下载 www.modsecurity.org

0x03 首先,先编译安装好基本的LAMP环境 [具体编译安装过程,可自行参考博客相关文章] ,这里暂时就直接用之前编译好的环境来演示

1
httpd 2.4.27 + php 5.6.31 + mysql 5.5.57 + centOS6.8_x64

0x04 先停掉apache,因为等会儿要编译modsecurity生成对应的库

1
# pkill httpd

0x05 开始编译安装 modsecurity,一如往常,务必先装好一些必要的依赖库,不然中间会有很多的麻烦

1
2
3
4
# yum install httpd-devel apr apr-util-devel apr-devel pcre pcre-devel libxml2 libxml2-devel curl-devel zlib zlib-devel openssl openssl-devel -y
# cd modsecurity-2.9.2
# ./configure --with-apxs=/usr/local/httpd/bin/apxs 生成modsecurity的so
# make && make install

阅读全文 »

基于 nginx 的七层负载均衡实现初步

发表于 2017-07-28 | 更新于: 2017-12-23 | 分类于 lbd
字数统计: 1,741 | 阅读时长 ≈ 7



0x01 此次演示环境

1
2
3
4
NginxHttp ip: 192.168.3.49 	作为负载均衡器,测试域名为 `lb.org`,生产环境中,最好自己新建个虚拟ip来做负载均衡,方便后续迁徙
OldLamp ip: 192.168.3.45 后端真实处理请求的web服务器 httpd-2.2.34
OldLnmp ip: 192.168.3.42 后端真实处理请求的web服务器 nginx-1.12.2
NewLnmp ip: 192.168.3.43 作为访问客户端,测试各种负载均衡算法是否工作

先改下当前nginx负载均衡器的host解析,即NginxHttp机器,因为等会儿要直接用机器名去访问后端的web节点

1
2
3
# vi /etc/hosts
192.168.3.42 test.bwapp.org bwapp.org
192.168.3.45 bwapp.cc www.bwapp.cc

再来改下Newlnmp机器的host解析,添加如下内容,因为等会儿要用它来进行测试访问

1
2
# vi /etc/hosts
192.168.3.49 lb.org

0x02 以下是一些常用的负载均衡调度算法

1
2
3
4
5
6
rr   	 [ 正常轮询 ] 即按照事先给定的后端节点顺序挨个轮询,适合性能相近,业务相同的场景
wrr [ 权重轮询 ] 即按照事先设置好的后端节点轮询比例,进行轮询,适合机器性能差距较大,业务相同的场景
ip_hash [ ip hash ] 也就是说只要客户端ip不变,在一段时间内就只访问固定的后端节点,`常用于会话保持`,如session,cookie,不过这样保持,负载就不均衡了
fair [ 动态算法 ] 属于第三方算法,即根据节点的响应时间来分配请求,响应快的节点优先分配
url_hash [ 节点取模 ] 也属于第三方节点,根据url来分配后端节点,命中率比较低,不过非常适合做web缓存
一致性 hash ...

0x03 在 nginx 中可用来实现负载均衡的主要模块

1
2
upstream   模块 定义好后端节点及所使用调度算法,大致工作过程是这样的,它会先读取upstream中的配置,然后通过server标签中的proxy_pass来进行实际的调用
http_proxy 模块 主要负责实际的转发行为

阅读全文 »

利用win自带的 PSR 实现免杀截屏

发表于 2017-07-25 | 更新于: 2017-10-24 | 分类于 PSR
字数统计: 363 | 阅读时长 ≈ 1



0x01 PSR 即win自带的”问题步骤记录器”,也就是说它只会捕捉活动窗口,并不是我们想象的各种远控中的那种截屏功能,win + R 输入 “psr” 即可开启

0x02 当然,实际渗透中,肯定是不能让对方有任何察觉的,所以图形界面的不要,悄悄的干活,我们可以直接在管理员权限的cmdshell下搞,其实,你完全也可以在PS的shell下操作,至于这个shell怎么搞到,随你,注意,虽然是在命令行中,进程列表中还是会被发现,不过,如果你自己会hook,也是可以让它消失的

1
2
C:\>psr /start /gui 0 /output "d:\capturescreen.zip"
C:\>psr /stop



阅读全文 »
1…567…17
VK

VK

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

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