《PowerShell 3.0 Advanced Admin handbook》已于今日上市
工作之余与埃及MVP Sherif Talaat合著的全英文书籍《PowerShell 3.0 Advanced Admin handbook》于今日由Packt Publishing正式出版上市,本书基于PowerShell3.0版本,历时8个月,从2012年8月16日Packt Publishing发邮件找我们约稿,经历1stDraft,2ndDraft, Rewrite,1stEdit,2ndEdit,Prefinal和Final很多次草稿,修改和校稿,全程跟国外合著者、编辑、reviewer通过两百多封邮件沟通,全书450页,是目前为止首本国内作者参与的关于PowerShell3.0最新编程开发技术的新书。
在书稿创作过程中见识了国外出版业的严谨和流程、质量控制苛刻,与合著者和编辑团队之间存在着三种不同的时差,全程仅使用Email进行沟通和协调,对作者的英语也是一个极大的挑战,学了十多年的填鸭式英语,发现要按照老外的思路写一点思路清晰的文字一开头也是非常的痛苦和折磨,还好顶住压力熬下来了。跟国内出版社的朋友沟通了一下,发现国外的出版环境已经很完善了,不像国内完全还处于刀耕火种的原始状态,也没有国内出版需要面对的各种审查和阉割,国外编辑团队分工很细,流程很完善,从开始到书稿完成出版,会有不同角色的编辑与作者沟通,但是有新角色进入时总会由熟悉的编辑介绍,而且同时只会有一到两位编辑与作者沟通,尽管角色众多但不会出现混乱的情况。国外的图书出版稿酬相比国内要高,国内通常只有12%,而国外能达到16%。国外的图书会同时推出纸质版本和电子版,且电子版是销售的主要销售渠道。国外的图书编辑和作者工作时间较为随意,能从他们收发邮件的时间段看出来,尽管存在6~7小时的时差,发信的时间有会在他们的工作时间也有半夜发过来的,在几个比较重要的阶段编辑会询问作者的休假计划,在埃及的合著者经常会有休假,可我等苦逼的天朝IT民工就没这么幸运了,但愿在不远的将来我们也可以有更宽松的工作环境和更多的休息时间。
附上出版过程中相关的TimeLine:

读者与作者技术交流,意见反馈请发邮件至Power[......]
《Windows PowerShell 2.0应用编程最佳实践》已出版上市,同时将在台湾出版
工作之余和微软MVP朋友高阳经过一年零2个月的合作编写,这本书终于与大家见面了,这本书是我们写作周期最长的一本书,在内容和质量上也花费了很多心血,全书650多页可算是厚厚的一大本,也是目前为止国内仅有的一本国人自己编写的关于微软powershell2.0最新编程开发技术的新书,并且得到了微软相关部门的大力支持。
本书已被台湾出版社审核选中,同时会在今年2个月后在台湾等地出版。
非常感谢微软mvp中国区最有价值专家主管——林思绮 为本书作序,还有 微软MVP徐磊、李战和于渊为本书做的出色书评。
读者与作者技术交流,意见反馈请发邮件至PowerShell#live.cn(发邮件请将#替换为@)
书名:《Windows PowerShell 2.0应用编程最佳实践》
出版社:电子工业出版社
ISBN:9787121101656 / 7121101653
上架时间:2010-2-1
出版日期:2010 年2月
字数:84.9万字
开本:16开
页码:655
版次:1-1
目录、前言与第18章下载:
前言 目录 第18章试读
博文视点:http://www.broadview.com.cn/10165
中国互动出版网:http://www.china-pub.com/196373
华储网:http://www.huachu.com.cn/itbook/bookinfodetail.asp?lbbh=10112061&sort=qy
中国图书网网上书店http://www.bookschina.com/4565830.htm
亚马逊/卓越:http://www.amazon.cn/mn/detailApp?asin=b0037492uk&source=eqifa|506|1|
当当网:http://product.dangdang.com/product.aspx?product_id=20798549


内容简介
windows powershell是微软为windows系统开发的shell及脚本语言技术,它是一种新的命令行外壳和脚本语[......]
PowerShell尝试ssh登录
上篇文章介绍了通过PowerShell尝试登录ftp,本文中将会向大家介绍如何通过PowerShell尝试Linux SSH登录。由于Linux登录大多是通过SSH的模式进行登录的,渗透测试时扫描到22端口监听有SSH,可以通过社工收集管理员相关信息编制字典,如果能有脚本可以基于字典对Linux进行用户名和密码的尝试,将会在渗透测试时起到很重要的作用。
在PSNet程序集中继续进行扩展,在$env:PSSpace/PSNet/TCPOp/下创建Invoke-SSHLogin.ps1脚本用于在传入指定ssh地址、用户名和密码后返回是否登录成功。
在$env:PSSpace/PSNet/下创建Lib目录用于存放在脚本中需要使用的第三方库,由于在本文中需要引用Renci.SshNet.dll用户可以从http://sshnet.codeplex.com/releases/view/72214中下载程序,解压后将文件放置在$env:PSSpace/PSNet/Lib中用于后续的调用。
在$env:PSSpace/PSNet/PSNet.psm1添加对刚下载的程序集的引用,并添加对Invoke-SSHLogin.ps1脚本的引用,在PowerShell启动时同时加载并初始化函数。
[void][reflection.assembly]::LoadFrom((Resolve-Path "$env:PSSpace/PSNet/Lib/Renci.SshNet.dll")) . $env:PSSpace/PSNet/TCPOp/Invoke-SSHLogin.ps1
上述两条语句,第一条用于获取Dll文件的绝对位置,并将dll文件 引用到当前session中。
接下来定义此函数中的相关参数:
-Site参数用于指定要尝试密码的SSH主机域名或IP,此参数必须 -User参数用于指定登录时使用的用户名,此参数必须 -Pass参数用于指定登录时使用的密码,此参数必须
此脚本文件加载后的调用方式如下:
Invoke-SSHLogin -Site loc[......]
PowerShell尝试登录ftp
上一篇文章介绍了通过PowerShell批量扫描IP段和端口,在PSNet程序集中添加了Invoke-ScanIPPort函数,这里尽管扫描到了指定IP端中监听的端口,但是未对端口和相应的程序进行对应,正如我们所知一些常用的应用程序使用的默认端口是固定的,通过收集对应关系会便于实现批量对IP范围中存在的业务进行确认,这个功能我们将会在后续的文章中进行介绍。
在扫描到某些特定端口之后,我们接下来就需要寻找到这个端口对应业务的弱密码和常见密码,通过对默认密码的扫描,如果尝试出了正确的密码,很多时候我们能找到渗透测试时的重要突破口。对可以作为渗透测试时的弱密码攻击的方向通常有ftp、mysql、sqlserver、oracle、telnet、ssh、Tomcat、Weblogic等等,如果能在扫描到此类服务后,快速通过统一的方法扫描到弱密码将会大大加快对敏感信息和权限提升的进度。本文和后续的文章将会试图通过PowerShell实现对上述潜在攻击点的弱密码尝试,本文首先针对ftp的密码 尝试。
在PSNet程序集中继续进行扩展,在$env:PSSpace/PSNet/TCPOp/下创建名为Invoke-FtpLogin.ps1的脚本用于在传入指定ftp地址、用户名和密码后返回是否登录成功。
同时在$env:PSSpace/PSNet/PSNet.psm1中添加对Invoke-FtpLogin.ps1程序文件的应用,便于在PowerShell初始化时同时初始化此函数 :
. $env:PSSpace/PSNet/TCPOp/Invoke-FtpLogin.ps1
下面说明此函数中相关参数的作用:
-Site用于传入ftp服务器的地址,格式如ftp://localhost ,可以使用域名或IP地址,此参数必选 -User用于传入要验证的ftp服务器的用户名,默认值为Anonymous,可选 -Pass用于传入要验证的ftp服务器的密码,默认值为hello@world ,可选(注:ftp协议中匿名用户的密码可以使用任何带有@符号的字符串来代替) -[......]
PowerShell批量扫描IP和端口
前面的文章中曾经发布了对指定IP进行批量端口扫描的方法和脚本,过PowerShell收发TCP和UDP消息包的方法以及通过PowerShell尝试登录SQLServer服务的方法,这构成了PSNet程序集用于通过PowerShell对网络状态进行操作。最近在不断尝试之下,找到了对指定范围的IP段进行扫描和对端口进行扫描的方法,本文将会介绍如何通过PowerShell批量扫描IP及其对应的端口。
依然在PSNet程序集的基础上进行扩展,首先在$env:PSSpace/PSNet/TCPOp下创建脚本文件Invoke-ScanIPPort.ps1,并在$env:PSSpace/PSNet/TCPOp/PSNet.psm1中添加对脚本文件的调用:
. $env:PSSpace/PSNet/TCPOp/Invoke-ScanIPPort.ps1
首先对后面代码中将会出现的变量进行介绍:
-StartAddress[扫描的起始IP地址],与-EndAddress配合使用,【此参数必须】
-EndAddress[扫描的结束IP地址],【此参数必须】
-ResolveHost[是否尝试对主机名尝试进行解析]
-ScanPort[是否进行端口扫描],如果要扫描端口此选项必须
-AllPort[是否对所有端口进行扫描],范围为1~65534(注意此选项扫描时间很长建议在选中单个IP的情况下进行使用,并且尽量少使用)
-StartPort[扫描的起始端口端口],与-EndPort配合使用,如果此选项与-Ports选项同时存在则-Port参数失效
-EndPort[扫描的结束端口]
-Ports扫描时默认扫描的端口,如果后续不带参数则仅扫描21,22,23,53,69,71,80,98,110,139,111,389,443,445,1080,1433,2001,2049,
3001,3128,5222,6667,6868,7777,7878,8080,1521,3306,3389,5801,5900,5555,5901如果后续带多个以逗号分割的多个数字则会扫描数字对应的端口,如果只扫描默认[......]
PowerShell尝试登录SQL Server
前三篇文章中创建了PSNet程序集,其中包含了对指定IP进行端口扫描,收发TCP消息包和收发UDP消息包的相关功能,作为这是最基本的对网络情况的最基本检测,后续的文章将会对此程序集进行不断的扩充使其包含更全面的功能。但是光有这些简单网络探测的功能还远远不够,为了能更全面的使用PowerShell针对网络安全进行检测,在本文中将会创建PSSecurity程序集用于存放相关通过PowerShell的脚本。参照前几篇文章中创建PSNet程序集的方法和目录结构创建PSSecurity程序集目录,便于后续对程序集的扩展。
具体详细的步骤请参见前几篇文章,创建PSSecurity程序集之后的目录结构和文件如下所示:
+D:\MY DOCUMENTS\WINDOWSPOWERSHELL\MODULES └─PSSecurity │ PSSecurity.psm1 │ └─SQLServer Get-SqlSysLogin.ps1
在$Profile中添加:
Import-Module $env:PSSpace\PSSecurity #用于在PowerShell启动时自动加载PSSecurity程序集
其中PSSecurity.psm1中的内容如下:
. $env:PSSpace/PSSecurity/SQLServer/Get-SqlSysLogin.ps1 #导入Get-SqlSysLogin函数
Write-Host "PSSecurity Module Added" -BackgroundColor green -ForegroundColor blue #用于提示此模块已加载 Ex[......]
PowerShell收发UDP消息包
在上篇文章中,在PSNet工具集中创建了Send-TCPMessage和Receive-TCPMessage两个函数实现了通过PowerShell收发TCP消息包的功能,有了TCP包的发送和接收,自然少不了UDP消息包的发送和接收,本文将会介绍通过PowerShell发送和接收UDP消息包的方法。
为了能跟之前的PSNet程序集匹配,继续基于此程序集进行扩展,在$env:PSSpace\PSNet下创建UDPOp目录,在其中创建Receive-UDPMessage.ps1和Send-UDPMessage.ps1两个文件,代码稍后插入。
在$env:PSSpace\PSNet\PSNet.psm1中添加对上述两个脚本文件的引用,代码如下:
. $env:PSSpace/PSNet/TCPOp/Receive-UDPMessage.ps1 . $env:PSSpace/PSNet/TCPOp/Send-UDPMessage.ps1
需要注意的是这两行代码需要在PSNet.psm1中已经存在的Export-ModuleMember -Function *代码之前,以便能保证被引入的脚本文件中包含的函数均可以作为该程序集模块的成员注册,以便能够被PowerShell进程识别。
下面附上代码:
=====文件名:Receive-UDPMessage.ps1=====
Function Receive-UDPMessage
{
param ( [ValidateNotNullOrEmpty()]
[int] $Port )
try
{
$EndPoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::Loopback,$Port)
$UDPClient = New-Object System.Net.Sockets.UDPClient($Port)
[......]
PowerShell收发TCP消息包
在上篇文章中,我们在PSNet包中创建了Test-TCPPort函数用于探测指定IP的指定端口是否开放,检测端口之后大多数人想到的可能就是需要通过PowerShell收发TCP消息包了,这篇文章里将会描述如何在PSNet包中创建针对TCP消息包的函数Receive-和TCPMessageSend-TCPMessage。为了承接上篇中我们创建的PSNet工具集的思路,在确定了函数的命名之后,创建上述两个函数对应的.ps1文件放置在$env:PSSpace/PSNet/TCPOp/中。
接下来在$env:PSSpace/PSNet/PSNet.psm1中添加以下两条语句用于在工具集中引入上述两个函数文件:
. $env:PSSpace/PSNet/TCPOp/Receive-TCPMessage.ps1 . $env:PSSpace/PSNet/TCPOp/Send-TCPMessage.ps1
然后分别在创建的.ps1文件中添加以下代码:
=====文件名:Receive-TCPMessage.ps1=====
Function Receive-TCPMessage
{
param ( [ValidateNotNullOrEmpty()]
[int] $Port )
try
{
$EndPoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::Loopback,$Port)
$Socket = New-Object System.Net.Sockets.TCPListener($EndPoint)
$Socket.Start()
$Socket = $Socket.AcceptTCPClient()
$EncodedText = New-Object System.Text.ASCIIEncoding
$Stream = $Socket.GetStrea[......]
powershell对指定IP进行端口扫描
好久没写技术文章了,近期会发布多篇关于PowerShell和安全相关的一些文章。前些天看到一篇关于Metasploit与PowerShell的文章,里面提到了一句关于端口扫描的语句,写的很简练,思路很不错,可以抛开笨重的Nmap直接扫描指定的指定IP的端口:
1..1024 | %{ echo ((new-object Net.Sockets.TcpClient).Connect("192.168.10.26",$_)) "$_ is open"} 2>$null
语句中直接通过..列举了1到1024之间的数字,通过管道次传递给后面的操作符,使用New-Object创建System.Net.Sockets.TCPClient对象,调用该对象的Connect()方法连接指定IP的指定端口,而端口则是由管道传入的入组对象,也就是前面提到的1~1024及其之间的的数字,是由$_这个自动变量来代替,代表管道传入的当前的对象。对于开放TCP端口是会有相应的程序监听该端口的,等待程序连接,如果连接了一个未曾起监听的端口,TCPClient对象是会抛出以下的异常
“Exception calling "Connect" with "2" argument(s): "由于目标机器积极拒绝,无法连接。 192.168.10.26:1"”
对于抛出的异常通过2>$null的方式将错误信息重定向到$null的空设备,而不再当前屏幕输出,于此同时如果在对指定端口进行连接的过程中未曾抛出异常说明TCPClient对象可以正常连接到端口,则打印出该端口并提示该端口是打开的。
通过PowerShell对.net对象的调用我们可以做很多的事情,基本上用WinF[......]
Web安全工具大汇聚
Test sites / testing grounds
SPI Dynamics (live) – http://zero.webappsecurity.com/
Cenzic (live) – http://crackme.cenzic.com/
Watchfire (live) – http://demo.testfire.net/
Acunetix (live) – http://testphp.acunetix.com/ http://testasp.acunetix.com http://testaspnet.acunetix.com
WebMaven / Buggy Bank – http://www.mavensecurity.com/webmaven
Foundstone SASS tools – http://www.foundstone.com/us/resources-free-tools.asp
Updated HackmeBank – http://www.o2-ounceopen.com/technical-info/2008/12/8/updated-version-of-hacmebank.html
OWASP WebGoat – http://www.owasp.org/index.php/OWASP_WebGoat_Project
OWASP SiteGenerator – http://www.owasp.org/index.php/Owasp_SiteGenerator
Stanford SecuriBench – http://suif.stanford.edu/~livshits/securibench/
SecuriBench Micro – http://suif.stanford.edu/~livshits/work/securibench-micro/
HTTP proxying / editing
WebScarab – http://www.owasp.org/index.php/Category:OWASP_[......]
在线hash密码破解网站列表
在线hash密码破解网站列表,支持多种类型的hash密码,目前可破解查询的hash包括:MD5、NTLM、LM、SHA1、SHA 256-512、MySQL、WPA-PSK 。
MD5
MD5Decrypter(uk)
Plain-Text
MD5this
MD5crack
Noisette
MD5decrypter
NetMD5crack
XMD5
TheKaine
MD5pass
Generuj
AuthSecu
MD5decryption
Schwett
MD5-db
Gromweb
MD5hood
MD5.my-addr
MD5online
Macrosoftware
MD5-decrypter
C0llision
Rednoize
CMD5
Tmto
Shalla
Hash-Database
Bokehman
Benramsey
Kalkulators
StringFunction
Fox21
Sans
HashCracking.ru
Anqel
Offensive-Security
Altervista
Xanadrel
AskCheck
hash-cracker.com
Wordd
MD5Rainbow
(IRC Bots)
Overclock
plain-text.info (irc.Plain-Text.info #rainbowcrack – irc.rizon.net #rainbowcrack)
md5.overclock.ch (irc.rizon.net #md5)
c0llision.net (irc.after-all.org #md5crack – ircd.hopto.org #md5crack – ix.dal.net #md5crack)
NTLM
MD5decrypter(uk)
Plain-Text
NiceNameCrew
HashCrack
Tmto
Fox21
LMCrack
hash-cracker.com
LM
Plain-Text
NiceNameCrew
HashCrack
C0llision
Tmto
Fox2[......]
关于博主
日历
2013年五月 一 二 三 四 五 六 日 « 四 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
友情链接
常用工具

27 queries. 1.457 seconds.