1
0
mirror of https://github.com/nganhkhoa/malware.git synced 2024-06-10 21:32:07 +07:00

PS obfuscate

This commit is contained in:
HackMD 2020-01-09 15:48:31 +00:00
parent 31b1dc61c4
commit d79924441c

View File

@ -93,6 +93,9 @@ to do...
[A Museum of API Obfuscation on Win32](http://eval.symantec.com/mktginfo/enterprise/media/security_response/whitepapers/a_museum_of_api_obfuscation_on_win32.pdf)<br> [A Museum of API Obfuscation on Win32](http://eval.symantec.com/mktginfo/enterprise/media/security_response/whitepapers/a_museum_of_api_obfuscation_on_win32.pdf)<br>
## PowerShell Script obfuscation ## PowerShell Script obfuscation
- 難読化ツール<br>
[Invoke-Obfuscation](https://github.com/danielbohannon/Invoke-Obfuscation)
- Powershell Script内で用いられる難読化技術について
### case-insesitive ### case-insesitive
- コマンドレットや変数を大文字,小文字を混ぜる - コマンドレットや変数を大文字,小文字を混ぜる
- PowerShellでは区別されない - PowerShellでは区別されない
@ -106,7 +109,8 @@ to do...
> iex -> Invoke-Expression<br> > iex -> Invoke-Expression<br>
> sal -> Set-Alias > sal -> Set-Alias
- エイリアスの設定 - エイリアスの設定
> set-alias <Name> <Value> > set-alias <Name> <Value><br>
> sal ping iex
### dot expression and amp expression(Invoke-Expression) ### dot expression and amp expression(Invoke-Expression)
- 文字列で表現されたコマンドレットを実行 - 文字列で表現されたコマンドレットを実行
> .("get-alias")<br> > .("get-alias")<br>
@ -135,6 +139,35 @@ to do...
### Pipe operator ### Pipe operator
- パイプによる引数の引き渡し - パイプによる引数の引き渡し
> 'Write-host 1' | iex > 'Write-host 1' | iex
### $ENV variable
- 環境変数の値を文字列の作成等に利用
> .(\$seLLId[1]+\$shEllId[13]+'x') -> .(iex)<br>
> &($EnV:cOmSpEc[4,15,25]-JOIN'') -> &(iex)
### Encode
- xor
- 文字16進数10進数等で指定可能
> 10-bxor"10" -> 0<br>
> "0xa"-bxor10 -> 0
- base64
> [System.Convert]::FromBase64String("Ym9iYWxpY2UK") -> bobalice
- zlib
> New-Object System.IO.Compression.DeflateStream([iO.mEmoRySTream] [sysTEM.ConVert]::frOMBASE64STrING("Ym9iYWxpY2UK"))
- unicode
> [System.Text.Encoding]::Unicode.GetString()
### Ascii code
- 文字などをasciiコードの10進数16進数表記で示す
> [string][char[]](0x69,0x65,0x58) -> i e X
### Replace method
- 文字や文字列を置換する
> 'i e x'-replace ' ','' -> ieX
### %(foreach-object)
- foreach-objectの省略系で%を利用
> ((0x69, 0x65, 0x58) | %{([char] [int] $_)})-jOIN'' -> ieX
### Comment out
- コメントアウト
> <#bobalice#>
### ref: ### ref: