john
Kali x86에 몇 가지 문제가 있습니다. 간단히 말해서 LV에 설치된 Kali Linux 2.0에서는 실행할 수 없지만 john
VM의 이전 버전의 Kali와 이전 버전의 John에서는 실행할 수 있었던 것을 기억합니다. 오류는 다음과 같습니다
죄송합니다. 이 빌드에는 SSE2가 필요합니다.
칼리는 CPU가 넉넉한 상태에서 돌아가는 줄 알고 찾아봤더니 코어당 결과는 다음과 같았습니다.
root@kali:~# cat /proc/cpuinfo
model name : Intel(R) Core(TM)2 Duo CPU T5800 @ 2.00GHz
microcode : 0xa4
cpu MHz : 800.000
cache size : 2048 KB
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor
ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
결과는 다음과 같습니다 dmidecode
.
root@kali:~# dmidecode -t 4
# dmidecode 2.12
SMBIOS 2.4 present.
Handle 0x001E, DMI type 4, 35 bytes
Processor Information
Socket Designation: CPU
Type: Central Processor
Family: Pentium M
Manufacturer: Intel(R) Corporation
ID: FD 06 00 00 FF FB EB BF
Signature: Type 0, Family 6, Model 15, Stepping 13
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM)2 Duo CPU T5800 @ 2.00GHz
Voltage: 1.6 V
External Clock: 800 MHz
Max Speed: 2000 MHz
Current Speed: 1200 MHz
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache Handle: 0x0021
L2 Cache Handle: 0x001F
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: FFFF
Part Number: Not Specified
uname의 결과
root@kali:~# uname -a
Linux kali 4.0.0-kali1-686-pae #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) i686 GNU/Linux
gcc 버전 결과
root@kali:~# gcc --version
gcc (Debian 4.9.2-10) 4.9.2
그러나 John the Ripper 1.8
Kali Linux 배포판이 사전 설치된 버전을 설치했는데 컴파일 중에 SSE2 벤치마크에 도달하지 못했습니다.
- 그렇다면 SSE2는 정확히 무엇입니까?
- SS2E를 x86 프로세서와 함께 사용할 수 있습니까?
- John과 같은 빌드에 SSE2가 필요한 이유는 무엇입니까?
편집하다:
- 이러한 빌드가 SSE2 사양의 시스템에서 실행되지 않는 이유는 무엇입니까?
미리 감사드립니다.
답변1
- 일반적으로 SSE2란 무엇입니까?
SSE2는 Intel x86 명령어 세트의 확장된 특수 명령어 하위 집합입니다. 이는 SIMD(Single Instruction Multiple Data) 전용입니다. 즉, 특정 초광대역 레지스터(예: 128비트 폭 XMM 레지스터)의 도움으로 단일 명령어에서 여러 데이터를 처리할 수 있습니다.
XMM 레지스터의 가능한 분할은 아래 그림에 나와 있습니다.
- SS2E를 x86 프로세서와 함께 사용할 수 있습니까?
상대적으로 새로운 Intel x86 프로세서에는 SSE2 명령어 세트가 있습니다. CPU에 해당 기능이 있는지 확인하려면 다음을 수행하세요.
$> cat /proc/cpuinfo | grep flags | tail -n 1
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx
est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt
tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln
pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust
bmi1 avx2 smep bmi2 erms invpcid xsaveopt
여기에서 프로세서에 내장된 모든 명령의 하위 집합을 볼 수 있습니다. 목록에서 찾을 수 있습니다 sse2
(여기서는 해당).
- John과 같은 빌드에 SSE2가 필요한 이유는 무엇입니까?
SEE는 신호 처리 및 고도로 병렬화된 알고리즘을 처리하는 데 유용합니다. John the Ripper의 경우 SSE2 명령 세트는 해시 함수 무차별 대입 알고리즘을 병렬화하는 데 사용됩니다. 단일 명령에서 여러 해시 시도를 계산하여 키 공간 탐색(또는 사전 소진) 속도를 높입니다.
- 이러한 빌드가 SSE2 사양의 시스템에서 실행되지 않는 이유는 무엇입니까?
이는 소프트웨어적인 이유와 관련이 있을 가능성이 높습니다. 64비트 CPU(amd64의 i386)에 32비트 시스템이 설치되어 있거나 SSE2 명령어 세트를 처리할 수 있는 컴파일 도구가 없을 수도 있습니다. John의 빌드 시스템에 결함이 있어 시스템 기능을 제대로 감지하지 못할 수도 있습니다.
그러나 문제를 해결하기 위해 시스템에 대한 충분한 정보를 제공하지 않았습니다.
를 설치하려면 john
배포판과 함께 제공되는 미리 컴파일된 패키지를 사용하는 것이 더 좋습니다(현재 거의 모든 주요 배포판에서 표준임).
답변2
해당 버전이 시스템에 설치되어 있지 않은 경우 kali linux 2.0에 John the ripper의 이전 또는 새 버전을 설치하십시오. 당신의 문제는 해결될 것입니다.