Registry
SAM/SECURITY/SYSTEM/SOFTWARE/DEFAULT |
C:\Windows\System32\Config\ |
C:\Users\<username>\NTUSER.dat |
|
UsrClass.dat |
C:\Users\<username>\AppData\Local\Microsoft\Windows\UsrClass.dat |
sedコマンド
LASTUPDATE:2023/12/19
正規表現(文字列と扱う場合はエスケープが必要)
. * + ? \ | $ ^ [ ] ( ) { } 正規表現ではないがエスケープが必要なもの " ' ` & ; 逆にエスケープ不要なもの : < > @ |
sed 's/ab/cd/' | sは置換を意味する。正規表現に一致した最初のもののみが置換される。 最初に登場したab→cdに置き換える。 |
sed 'y/ab/cd/' | yをつけるとsとは違う置換方法。a→c、b→dに置き換える。 |
sed 's/ab/cd/g' | gをつけると一致したすべてのものを置換する。 |
sed '/正規表現/d' | dをつけると正規表現に一致した行を削除する。 |
sed 's/ab/cd/i' | iをつけると大文字と小文字を区別しない。 |
-r (-E) | 拡張正規表現を使用する。 |
-e | 複数の置換コマンドを利用する場合に使用する。 |
-n | 出力コマンド以外の出力を行わない。 |
-f | 文字列パターンを含むファイルを指定する。 |
使用例
echo abcdef|sed -e 's/abc/ABC/' -e 's/def/DEF/'
結果⇒ ABCDEF
--------------------------------------------------------------------------------
test.txt
aaa bbb ccc |
cat test.txt|sed 's/aaa/AAA/'
結果
AAA bbb ccc |
cat test.txt|sed -n 's/aaa/AAA/'
結果
cat test.txt|sed -n 's/aaa/AAA/p'
結果
AAA |
cat test.txt|sed 's/aaa/AAA/p'
結果
AAA bbb ccc |
sed -n '/正規表現/p'と書くと正規表現にマッチした行だけを出力してくれる。
cat file.txt|sed -n '/\.exe$/p'
--------------------------------------------------------------------------------
&は検索文字列を意味する。
echo 昨日は雨です|sed 's/雨/&&/'
結果
昨日は雨雨です |
--------------------------------------------------------------------------------
()で囲んだものには番号が付き\1などで呼び出せる。これを利用するには-Eオプションが必要
echo 私は中学生です|sed -E 's/(私は)(中学生です)/\2\1/' 結果
中学生です私は |
echo 私は高校生です|sed -E 's/(私)は(高校生)です/\2\1/' 結果
高校生私 |
--------------------------------------------------------------------------------
空行の削除
test.txt
aaa bbb ccc |
cat test.txt|sed '/^$/d'
結果
aaa bbb ccc |
--------------------------------------------------------------------------------
基本正規表現 | 拡張正規表現 |
* | * |
\+ | + |
\? | ? |
\{n,m\} | {n,m} |
\{n,\} | {n,} |
\{n\} | {n} |
\(regexp)\) | (regexp) |
\| | | |
Remnuxの初期設定 (ubuntu20.04)
RemnuxをVMwareで利用する際の初期設定で死ぬほどハマったので覚書をしておきます。
ネットワークの設定(NAT)
Ubuntu20.04のネットワーク接続はnetplanによって管理されている。
sudo vi /etc/netplan/01-network-manager-all.yamlで変更する。
(ens33となっているところを自分のインタフェース名で変更)
日本語設定:
① sudo□vi□~/.bashrc
② 末尾に行を追加して以下を記述して保存
setxkbmap□jp
③ source□.bashrcを実行すれば日本語キーボードが使える。
時刻設定:以前時刻がずれているためaptが実行できない謎現象があったので設定
① sudo□dpkg-reconfigure□tzdata
② Asiaを選択→Tokyoを選択
③ sudo□date□MMDDhhmmYYYY
デスクトップのアイコンを表示
① sudo□apt□install□gnome-shell-extension-desktop-iconsを実行
② 再起動を実施したら表示される。
アイコンのサイズ変更
/usr/share/gnome-shell/extensions/desktop-icon@csoriano/prefs.jsを編集
デスクトップに共有フォルダへのリンクを作成
ln□-s□/mnt/hgfs/共有フォルダ名
yaraルールのパスを絶対パスに変更するスクリプト(test.sh)
sed -i 's/\.\//\/home\/remnux\/malware\/rules-master\//g' index.yar
POWERSHELL覚書 2021_06_14 USBコピー
クリップボードの内容を取得してUSBにコピー
$clip = get-clipboard
$hash_list = @()
"" > result.txt
foreach($i in $clip){
$second_list = $i.split(",")[7]
if($hash_list -contains $second_list){
continue
}
$i.split(",")[7] >> result.txt
$i.split(",")[1] >> result.txt
$i.split(",")[2] >> result.txt
$i.split(",")[3] >> result.txt
"VirusTotal:" >> result.txt
"" >> result.txt
"" >> result.txt
"" >> result.txt
$hash_list += $second_list
}
start .\result.txt
try{
if(Test-Path E:\result.txt){
remove-item E:\result.txt
}
move-item .\result.txt E:\ -Force -ErrorAction Stop
} catch {
write-host "Target is not found !!"
} finally {
}
start E:\
#################################
USBからデスクトップにコピーし、googleページを開く
try{
move-item E:\result.txt .\result.txt -Force -ErrorAction Stop
Start-Sleep -s 5 #5秒待つ
start .\result.txt
$flag = "OK"
} catch {
write-host "該当ファイルがUSBに存在しません。またはUSBが接続されていません。"
write-host ""
pause
} finally {
}
if($flag -eq "OK"){
$URL1 = -join ("https://www.virustotal.com/gui/search/","a4c238e647a46976fb7bdafcbeaee4f6b3c30bf07b0734a887c42292fb14bab7")
$URL2 = -join ("https://www.virustotal.com/gui/search/","066af88763e8514d8f572ad4e703b8712c6833d7394c92e3d6df173c2a69d3d5")
start $URL1
start $URL2
}
8_powershellの覚書 urlの登録
もっと便利になるはず。
#Windowを作成するおまじない。
$rui = $host.UI.RawUI
$rui.WindowSize = New-Object System.Management.Automation.Host.Size(80,30)
for($true){
write-host "######################################################################"
write-host "# #"
write-host "# URL登録バッチ #"
write-host "# V1.0.0 #"
write-host "# #"
write-host "######################################################################"
write-host ""
write-host "保存するhtmlをドラッグしてください"
$html = read-host
$enter = "<br>"
$web_title = Read-Host("サイト名を入力してください")
$web_url = Read-Host("urlを入力してください")
$web_url_tag = "<a href=" + $web_url + ">" + $web_url + "</a>"
$web_title >> $html
$enter >> $html
$web_url_tag >> $html
$enter >> $html
$enter >> $html
Clear-Host
}
7_powershellの覚書 grepの作成
これ死ぬほど便利な予感。
# Windowを作成するおまじない
$rui = $host.UI.RawUI
$rui.WindowSize = New-Object System.Management.Automation.Host.Size(70,30)
for($true){
write-host "#############################################################"
write-host "# #"
write-host "# GREP検索 #"
write-host "# LASTUPDATE:2021/05/23_2022 #"
write-host "# #"
write-host "#############################################################"
write-host ""
write-host "検索フォルダをドラッグ&ドロップしてエンターキーを押してください。"
$search = Read-Host(">")
write-host ""
Write-Host "検索文字を入力してください"
$word = Read-Host(">")
write-host ""
Write-Host "該当しない行を表示したい場合はNを入力してください"
Write-Host "通常はそのままエンターキーを押してください。"
$exclusion = Read-Host(">")
if($exclusion -eq "N"){
$result = sls $word (dir -recurse $search ) -NotMatch | Tee-Object -file .\search_result.txt
start .\search_result.txt
write-host ""
"結果をバッチの実行場所にsearch_result.txtとして保存しました"
pause
break
}
write-host ""
Write-host "上下の行数を指定してください"
$row = Read-Host(">")
write-host""
$filename = Get-Date -Format "yyyy_MM.dd_HHmmss"
$result = sls $word (dir -recurse $search ) -Context $row | Tee-Object -file .\search_result_$filename.txt
start .\search_result_$filename.txt
write-host ""
"結果をバッチの実行場所にsearch_result_$filename.txtとして保存しました"
write-host ""
pause
Clear-Host
}
6_Powershellの覚書 helpの使い方
最初に管理者でpowershellを起動してUpdate-Helpを実行する(要ネット環境)
get-help sls
get-help sls -detailed
get-help sls -full
get-help sls -online