250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ScrollView
- intent
- Compose
- viewmodel
- textview
- appbar
- binding
- CustomScrollView
- tabbar
- android
- Navigation
- Button
- Coroutines
- 앱바
- 테스트
- 안드로이드
- data
- textfield
- Dialog
- activity
- DART
- scroll
- Kotlin
- livedata
- LifeCycle
- Flutter
- drift
- 계측
- TEST
- 앱
Archives
- Today
- Total
Study Record
[암호 프로그래밍] 사전파일을 이용한 공격 프로그램 - gpg 본문
728x90
☞ 공격할 암호화된 파일 생성 - /test/file1.txt.gpg
# cd /test
# cp /etc/hosts file1.txt
# gpg -c file1.txt
암호 : soldesk1.
☞ 사전파일 생성 - /python/dict/dict.txt
- https://laustudy.tistory.com/99
# mkdir -p /python/dict
# chmod -R 777 /python
# tree -C /python
# cd /python/dict
# cat << EOF > dict.txt
user01
user02
admin
soldesk1.
administration
EOF
☞ 공격 프로그램
(shell)
# vi /python/attack_gpg.sh (# chmod +x /python/attack_gpg.sh; ./python/attack_gpg.sh)
#!/bin/bash
DictFile=/python/dict/dict.txt
EncFile=/test/file1.txt.gpg
crack() {
echo
echo "====== Decrypted File Contents ======"
gpg -d --batch --passphrase $i $EncFile
}
for i in $(cat $DictFile)
do
gpg -d --batch --passphrase $i $EncFile >/dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "[ OK ] Key found. ==> $i"
crack
break
else
echo "[ FAIL ] Key not found. ==> $i"
fi
sleep 1
done
(python)
#!/usr/bin/python3
import os
def main():
dict = open('/python/dict/dict.txt')
encfile = '/test/file1.txt.gpg'
decfile = 'tmpDecfile.txt'
for word in dict.read().split('\n'):
cmd = 'gpg -d --batch --passphrase ' + word + " " + encfile + ' > ' + decfile + " 2>/dev/null"
if os.system(cmd) == 0:
# success
print("[ OK ] Key found => " + word)
print("===== Decrypted File Contents =====")
decfileOp = open(decfile)
print(decfileOp.read())
decfileOp.close()
break
else:
# fail
print("[ FAIL ] Key not found => " + word)
CMD = "rm -rf " + decfile
os.system(CMD)
dict.close()
pass
if __name__ == '__main__':
main()
728x90
'암호 > 프로그래밍' 카테고리의 다른 글
[암호 프로그래밍] RSA를 이용한 암/복호화 , 서명 (0) | 2021.12.08 |
---|---|
[암호 프로그래밍] 인코딩/디코딩 프로그램 (0) | 2021.12.07 |
[암호 프로그래밍] AES 암호화/복호화 프로그램 (0) | 2021.12.03 |
[암호 프로그래밍] 3DES-CBC 암호화 / 복호화 프로그램 (0) | 2021.12.02 |
[암호 프로그래밍] 사전파일을 이용한 공격 프로그램 - ccrypt (0) | 2021.12.02 |