跨平台快速文件共享 Samba
0x01 关于smaba
1 | 主要用于实现不同系统平台间的文件共享,配置非常简单,轻量,适合用于常规办公内网环境中 |
此次演示环境
1 | CentOS6.9 x86_64 ip:192.168.3.55 samba服务器 |
0x02 samba服务默认所监听的端口
1 | 137/udp,138/udp nmb 进程提供netbios解析,以满足基于 CIFS 协议的共享访问环境 |
0x03 使用samba客户端工具 smbclient
,其实有些类似于ftp的客户端工具,也是一种交互式的访问
在linux下使用smbclient访问windows中的共享目录
1 | # smbclient -L 192.168.3.23 -U administrator |
DNS 深度理解 [ 一 ]
0x01 首先,我们先来简单回顾下DNS的基本解析流程
, 比较简单,如下
1 | -> 以客户端浏览器访问 www.rootkit.org 域名为例,首先,它会去检查当前浏览器缓存,如果有,就直接响应,如果没有,就继续往下找 |
不再让 `泄露` 拖你的后腿 [ Subversion篇 ]
0x01 关于 svn
1 | 同属C/S架构,对于svn服务端来讲,任何一个文件,在任何时刻的变化,都会被svn详细记录,并自动备份修改之前的结果,方便后续回滚 |
演示环境,注,此处为独立部署svn服务器,并非配合web服务一起使用
1 | CentOS6.9_x86_64 ip: 192.168.3.59 |
0x02 作为一名入侵者,从svn
中你都能发掘到什么宝藏
1 | 可能最容易拿到的就是数据库的各种连接账号密码,前提是,目标数据库允许外连,这样你才能更优雅的脱裤或者想办法构造上传webshell |
简述 FTP 入侵与防御 [ Vsftpd ]
0x01 首先,我们先来简单思考下,当你面对一台 ftp 时,到底能做些什么
1 | 挖0day,抱歉,并不在今天的讨论范畴 ^_^ |
0x02 相对主流的一些ftp工具
1 | vsftpd proftpd filezilla ... |
0x03 深入理解ftp的主动与被动工作模式
命令连接
1 | 在客户端向ftp服务端发起连接请求时,客户端会随机选择本地的某个tcp端口与ftp服务端的21端口进行连接 |
主动模式
1 | 在 `命令连接` 建立成功后,客户端可能还需要进行一系列的数据传输动作,如,上传,下载文件... |
如何将你的 Apache 把控的'密不透风'
0x01 为防止配置或端口冲突,在装之前,你需要先仔细检查当前系统有没有装apache,如果有先把apache服务停掉,然后卸载apache
,等会儿用源码重新编译安装
1 | # rpm -qa httpd |
演示环境
1 | CentOS6.8 x86_64 最小化,带基础库安装 eth0 : 192.168.3.45 eth1 : 192.168.4.16 eth2 : 192.168.5.16 |
0x02 下载apache源码包,这里暂时选择2.2.x系列的最新版,不建议再用比这个还老的版本了,漏洞比较多
1 | # wget http://apache.website-solution.net/httpd/httpd-2.2.34.tar.gz |
0x03 直接到源码中去改掉apache的详细版本信息
,跟部署nginx一样,尽可能地扰乱入侵者的判断,这里就把它模拟成IIS 7.5,实际系统应为win server 2008r2
1 | # vi include/ap_release.h |
Php-fpm.conf & php.ini 安全优化实践
0x01 关于 php
1 | 其历史相对已经比较久远了,这里也就不废话了,属弱类型中一种解释型语言 |
0x02 此次演示环境
1 | CentOS6.8 x86_64 最小化,带基础库安装 eth0: 192.168.3.42 eth1: 192.168.4.14 eth2: 192.168.5.14 |
0x03 下载 php-5.6.32.tar.gz
,并安装好php所需的各种依赖库
1 | # yum install epel-release -y |
给自己一个更安全的 Mysql
0x01 在进行真正的 mysql 部署之前,我们不妨先来大致了解下,在实际入侵过程中,仅仅利用mysql,我们到底能干些什么,了解了这些最基本的点之后,我们再进行针对性防御:
1 | 普通用户权限下的 '增删改查',即 常规sql注入,俗称'脱裤' |
0x02 演示环境:
1 | CentOS6.8 x86_64 最小化,只带基础库安装 eth0: 192.168.3.42 eth1: 192.168.4.14 eth2: 192.168.5.14 |
0x03 下载,解压 mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
1 | # tar xf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz |
0x04 开始初始化mysql
务必以一个伪用户身份来运行mysql服务,防止别人利用mysql进行提权,后面还会再细说,另外,web服务和数据库服务严禁用同一个系统用户,这样做主要是为了防止入侵者直接通过sql语句往网站目录中写webshell
1 | # useradd -s /sbin/nologin -M mysql |
从 0 开始构建一个 "固若金汤" 的Nginx
0x01 关于 nginx
1 | 配置灵活,简单,运行时占用系统资源较少,功能模块繁多,可扩展性极强,基于 C ,整个工具大小1M左右 |
0x02 正确理解 linux 对文件,目录,[ 读 写 执行 ]
权限的真正含义,这东西不能靠干说,因为根本理解不扎实,大家可以自己在系统中创建两个普通用户,不停地切换目录文件权限,以深入仔细体会,后面网站目录权限设置要用到这些基础,如果连这些都搞不清,想灵活应用就难了,耐心点,等透彻理解之后,你就会发现真TM简单
目录 读[r / 4]
写[w / 2]
执行[x / 1]
1 | 读: ls , dir ... 表示可查看该目录下的文件列表 |
文件 读[r / 4]
写[w / 2]
执行[x / 1]
1 | 读: cat , tac , more , less ,head , tail ... 表示可查看该文件中的内容 |
Lsyncd + Rsync 实时同步海量小文件
0x01 关于lsyncd
1 | inotify的优秀替代品,基于lua,不过,它也依然使用 linux 2.6.13以后内核的inotify触发机制 |
环境准备:
1 | RsyncServer ip: 192.168.5.4 |
0x02 在需要进行实时同步的 rsync 客户端机器上[ 这里是RsyncClient26 ]
编译安装lsyncd,如下
1 | # yum install lua lua-devel asciidoc cmake -y |
纯图形化实时流量分析 [ Etherape ]
0x01 关于 etherape:
1 | 一款纯图形化的网络流量分析工具,既是图形界面,所以系统中务必要有各类图形库支持才行 |
0x02 环境:
1 | kali ip: 192.168.3.30 |