Full Black Hat Rust Deep Dive Into Offensive Security With The Rust Programming Language Sylvain Kerkour Ebook All Chapters
Full Black Hat Rust Deep Dive Into Offensive Security With The Rust Programming Language Sylvain Kerkour Ebook All Chapters
Full Black Hat Rust Deep Dive Into Offensive Security With The Rust Programming Language Sylvain Kerkour Ebook All Chapters
com
OR CLICK BUTTON
DOWLOAD NOW
More products digital (pdf, epub, mobi) instant
download maybe you interests ...
https://ebookmeta.com/product/black-hat-rust-applied-offensive-
security-with-the-rust-programming-language-sylvain-kerkour-2/
https://ebookmeta.com/product/black-hat-rust-applied-offensive-
security-with-the-rust-programming-language-sylvain-kerkour-3/
https://ebookmeta.com/product/black-hat-rust-applied-offensive-
security-with-the-rust-programming-language-sylvain-kerkour/
https://ebookmeta.com/product/black-hat-rust-sylvain-kerkour/
The Rust Programming Language Steve Klabnik
https://ebookmeta.com/product/the-rust-programming-language-
steve-klabnik/
https://ebookmeta.com/product/the-rust-programming-language-2nd-
edition-steve-klabnik/
https://ebookmeta.com/product/the-rust-programming-language-
second-edition-steve-klabnik/
https://ebookmeta.com/product/beginning-rust-get-started-with-
rust-2021-edition-carlo-milanesi/
https://ebookmeta.com/product/beginning-rust-programming-1st-
edition-ric-messier/
Black Hat Rust
Applied offensive security with the Rust
programming language
Sylvain Kerkour
Black Hat Rust
Deep dive into offensive security with the Rust programming
language
Sylvain Kerkour
v2021.23
Contents
1 Copyright 8
4 Preface 11
5 Introduction 14
5.1 Types of attacks . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 Phases of an attack . . . . . . . . . . . . . . . . . . . . . . . . 17
5.3 Profiles of attackers . . . . . . . . . . . . . . . . . . . . . . . . 18
5.4 Attribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.5 The Rust programming language . . . . . . . . . . . . . . . . 20
5.6 History of Rust . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.7 Rust is awesome . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.8 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.9 Our first Rust program: A SHA-1 hash cracker . . . . . . . . 26
5.10 Mental models to approach Rust . . . . . . . . . . . . . . . . 33
5.11 A few things I’ve learned along the way . . . . . . . . . . . . . 35
5.12 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1
6.6 Enumerating subdomains . . . . . . . . . . . . . . . . . . . . 49
6.7 Scanning ports . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.8 Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.9 Fearless concurrency in Rust . . . . . . . . . . . . . . . . . . . 53
6.10 The three causes of data races . . . . . . . . . . . . . . . . . . 56
6.11 The three rules of ownership . . . . . . . . . . . . . . . . . . . 56
6.12 The two rules of references . . . . . . . . . . . . . . . . . . . . 56
6.13 Adding multithreading to our scanner . . . . . . . . . . . . . . 56
6.14 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2
9.3 Search engines . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.4 IoT & network Search engines . . . . . . . . . . . . . . . . . . 111
9.5 Social media . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.6 Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.7 Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.8 Government records . . . . . . . . . . . . . . . . . . . . . . . 112
9.9 Crawling the web . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.10 Why Rust for crawling . . . . . . . . . . . . . . . . . . . . . . 115
9.11 Associated types . . . . . . . . . . . . . . . . . . . . . . . . . 115
9.12 Atomic types . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.13 Barrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9.14 Implementing a crawler in Rust . . . . . . . . . . . . . . . . . 118
9.15 The spider trait . . . . . . . . . . . . . . . . . . . . . . . . . . 118
9.16 Implementing the crawler . . . . . . . . . . . . . . . . . . . . 118
9.17 Crawling a simple HTML website . . . . . . . . . . . . . . . . 122
9.18 Crawling a JSON API . . . . . . . . . . . . . . . . . . . . . . 124
9.19 Crawling a JavaScript web application . . . . . . . . . . . . . 127
9.20 How to defend . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.21 Going further . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9.22 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3
10.17Memory vulnerabilities . . . . . . . . . . . . . . . . . . . . . . 153
10.18Buffer overflow . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.19Use after free . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.20Double free . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.21Format string problems . . . . . . . . . . . . . . . . . . . . . . 157
10.22Other vulnerabilities . . . . . . . . . . . . . . . . . . . . . . . 157
10.23Remote Code Execution (RCE) . . . . . . . . . . . . . . . . . 157
10.24Integer overflow (and underflow) . . . . . . . . . . . . . . . . . 159
10.25Logic error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.26Race condition . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.27Additional resources . . . . . . . . . . . . . . . . . . . . . . . 161
10.28Bug hunting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.29The tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.30Automated audits . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.31Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4
12.11Reverse TCP shellcode . . . . . . . . . . . . . . . . . . . . . . 210
12.12Going further . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
12.13Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5
15.4 Hash functions . . . . . . . . . . . . . . . . . . . . . . . . . . 290
15.5 Message Authentication Codes . . . . . . . . . . . . . . . . . . 291
15.6 Key derivation functions . . . . . . . . . . . . . . . . . . . . . 292
15.7 Block ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
15.8 Authenticated encryption . . . . . . . . . . . . . . . . . . . . 293
15.9 Asymmetric encryption . . . . . . . . . . . . . . . . . . . . . . 296
15.10Key exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . 296
15.11Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
15.12End-to-end encryption . . . . . . . . . . . . . . . . . . . . . . 298
15.13Who use cryptography . . . . . . . . . . . . . . . . . . . . . . 299
15.14Common problems and pitfalls with cryptography . . . . . . . 301
15.15A little bit of TOFU? . . . . . . . . . . . . . . . . . . . . . . 302
15.16The Rust cryptography ecosystem . . . . . . . . . . . . . . . . 303
15.17ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
15.18Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
15.19Our threat model . . . . . . . . . . . . . . . . . . . . . . . . . 305
15.20Designing our protocol . . . . . . . . . . . . . . . . . . . . . . 306
15.21Implementing end-to-end encryption in Rust . . . . . . . . . . 310
15.22Some limitations . . . . . . . . . . . . . . . . . . . . . . . . . 320
15.23To learn more . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
15.24Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
6
17.1 What is a worm . . . . . . . . . . . . . . . . . . . . . . . . . . 338
17.2 Spreading techniques . . . . . . . . . . . . . . . . . . . . . . . 338
17.3 Cross-platform worm . . . . . . . . . . . . . . . . . . . . . . . 341
17.4 Vendoring dependencies . . . . . . . . . . . . . . . . . . . . . 342
17.5 Spreading through SSH . . . . . . . . . . . . . . . . . . . . . . 343
17.6 Implementing a cross-platform worm in Rust . . . . . . . . . . 343
17.7 Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
17.8 Spreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
17.9 More advanced techniques for your RAT . . . . . . . . . . . . 349
17.10Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
18 Conclusion 354
18.1 What we didn’t cover . . . . . . . . . . . . . . . . . . . . . . . 354
18.2 The future of Rust . . . . . . . . . . . . . . . . . . . . . . . . 356
18.3 Leaked repositories . . . . . . . . . . . . . . . . . . . . . . . . 357
18.4 How bad guys get caught . . . . . . . . . . . . . . . . . . . . 357
18.5 Your turn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
18.6 Build your own RAT . . . . . . . . . . . . . . . . . . . . . . . 361
18.7 Social media . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
18.8 Other interesting blogs . . . . . . . . . . . . . . . . . . . . . . 362
18.9 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
7
Chapter 1
Copyright
8
Chapter 2
Dear reader, in order to thank you for buying the Black Hat Rust early access
edition and helping to make this book a reality, I prepared you a special
bonus: I curated a list of the best detailed analyses of the most advanced
malware of the past two decades. You may find inside great inspiration when
developing your own offensive tools. You can find the list at this address:
https://github.com/black-hat-rust-bonuses/black-hat-rust-bonuses
If you notice a mistake (it happens), something that could be improved,
or want to share your ideas about offensive security, feel free to join the
discussion on Github: https://github.com/skerkour/black-hat-rust
9
Chapter 3
This version of the book is not the final edition: there can be layout
issues, most of the illustrations will be refined, some things may be in the
wrong order, and content may be added according to the feedback I will
receive.
All the holes in the text are being filled, day after day :)
Also, I fix typos and grammatical errors every 2 weeks, so there can be some
mistakes during the interval.
The final edition of the book is expected for end of Q3 2021.
You can find all the updates in the changelog.
You can contact me by email: [email protected] or matrix: @syl-
vain:kerkour.com
10
Chapter 4
Preface
After high school, my plan for life was to become a private detective, maybe
because I read too much Sherlock Holmes books. In France, the easiest way
to become one, is (was?) to go to law university and then to a specialized
school.
I was not ready.
I quickly realized that studying law was not for me: reality was travestied
to fit whatever narrative politics or professor wanted us to believe. No deep
knowledge was teached here, only numbers, dates, how to look nice and sound
smart. It was deeply frustrating for the young man I was, with an insatiable
curiosity. I wanted to understand how the world works, not human conven-
tions. What is really energy? And, how these machine we call computers
that we are frantically typing on all day long work under the hood?
So I started by installing Linux (no, I won’t enter the GNU/Linux war) on my
Asus EeePC, a small netbook with only 1GB of RAM, because Windows was
too slow, and started to learn to develop C++ programs with Qt, thanks to
online tutorials, coded my own text, my own chat systems. But my curiosity
was not fulfilled.
One day, I inadvertently fell on the book that changed my life: “Hacking:
The Art of Exploitation, 2nd Edition”, by Jon Erickson.
This book not only made me curious about how to make things, but, more
importantly, how to break things. It made me realize that you can’t build
11
reliable things without understanding how to break them, and by extension
where are their weaknesses.
While the book remains great to learn low-level programming and how to ex-
ploit memory safety bugs, today, hacking requires new skills: web exploita-
tion, network and system programming, and, above all, how to code in a
modern programming language.
Welcome to the fascinating world of Rust and offensive security.
While the Rust Book does an excellent job teaching What is Rust, I felt
that a book about Why and How to Rust was missing. That means that
some concepts will not be covered in depth but instead we will see how to
effectively use them in practice.
In this book we will shake the preconceived ideas (Rust is too complex for the
real-world, Rust is not productive…) and see how to architect and create real-
world Rust projects applied to offensive security. We will see how polyvalent
Rust is which enables its users to replace the plethora of programming lan-
guages (Python, Ruby, C, C++…) plaguing the offensive security world with
an unique language (to rule them all) which offers high-level abstractions,
high performance and low-level control when needed.
We will always start with some theory, deep knowledge that pass through
ages, technologies and trends. This knowledge is independent of any pro-
gramming language and will help you to get the right mindset required for
offensive security.
I designed this book for people who either want to understand how attackers
think in order to better defend themselves, or for people who want to enter
the world of offensive security.
The goal of this book is to save you time in your path to action, by distilling
knowledge and presenting it in applied code projects.
It’s important to understand that Black Hat Rust is not meant to be an
big encyclopaedia containing all the knowledge of the world, instead it was
designed as a guide to help you getting started and pave the way to action.
Knowledge is often a prerequisite, but this is action that is shaping the world,
and sometime knowledge is a blocker for action (see analysis paralysis…). As
we will see, some of the most primitive offensive techniques are still the most
effective. Thus some very specific topics, such as how to bypass modern OSes
12
protection mechanisms won’t be covered because there already is extensive
literature on the matter and they have little value in a book about Rust.
That being said, I did my best to list the best resources to further your
learning journey.
It took me approximately 1 year to become efficient in Rust, but it’s only
when I started to write (and rewrite) a lot of code that I made real progress.
Rust is an extremely vast language, but in reality you will (and should) use
only a subset of its features: you don’t need to learn them all ahead of time.
Some, that we will study in this book are fundamentals, but others are not
and may have an adversarial effect on the quality of your code, by making it
harder to read and maintain.
My intention with this book is not only to make you discover the fabulous
world of offensive security, to convince you that Rust is the long-awaited one-
size-fits-all programming language meeting all the needs of offensive security,
but also to save you a lot of time by guiding you to what really matters
when learning Rust and offensive security. But knowledge is not enough.
Knowledge doesn’t move mountains. Actions do.
Thus, the book is only one half of the story. The other half is the accom-
panying code repository: https://github.com/skerkour/black-hat-rust. It’s
impossible to learn without practice, so I invite you to read the
code, modify it and make it yours!
If at any time you feel lost or don’t understand a chunk of Rust code, don’t
hesitate to refer to the Rust Language Cheat Sheet, The Rust Book, and the
Rust Language Reference.
13
Another random document with
no related content on Scribd:
The Project Gutenberg eBook of The shadow
girl
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.
Illustrator: Smolenski
Language: English
By RAY CUMMINGS
Illustrated by Smolenski.
The screen glowed, not with the normal colors of an interior studio
set, but with what seemed a pale, wan starlight. A blurred image; but
it was slowly clarifying. A dim purple sky, with misty stars.
We sat staring into the depths of the television screen. Depths
unmeasurable; illimitable distance. I recall my first impression when
in the foreground faint gray-blue shadows began forming: was this an
earthly scene? It seemed not. Blurred shadows in the starlight,
crawling mist of shadows, congealing into dim outlines.
We saw presently the wide area of a starlit night. A level landscape of
vegetation. Grassy lawns; trees; a purpling brook, shimmering like a
thread of pale silver in the starlight. The image was sharp now,
distinct, and without suggestion of flicker. Every color rounded and
full. Deep-toned nature, pale and serene in the starlight.
A minute passed. In the center foreground of the vista a white wraith
was taking form. And suddenly—as though I had blinked—there was
a shape which an instant before had not been there. Solid reality. Of
everything in the scene, it was most solid, most real.
A huge, gray-white skeleton tower, its base was set on a lawn where
now I could see great beds of flowers, vivid with colored blossoms.
The brook wound beside it. It was a pentagon tower. Its height might
have been two hundred feet or more, narrowing at the top almost to
a point. Skeleton girders with all the substantiality of steel, yet with a
color more like aluminum.
We were, visually, fairly close to this tower. The image of it stood the
full six feet of our screen. A balcony girded it near the top. A room,
like an observatory, was up there, with tiny ovals of windows.
Another larger room was midway down. I could see the interior—
ladder-steps, and what might have been a shaft with a lifting car.
The tower's base was walled solid. It seemed, as we stared, that like
a camera moving forward, the scene was enlarging—
We found ourselves presently gazing, from a close viewpoint, at the
base of the tower. It was walled, seemingly by masonry, into a room.
There were windows, small and high above the ground. Climbing
vines and trellised flowers hung upon the walls. There was a broad,
front doorway up a stone flight of steps.
And I became aware now of what I had not noticed before: the
gardens surrounding the tower were inclosed with a high wall of
masonry. A segment of it was visible now as a background to the
scene. A wall, looped and turreted at intervals as though this were
some fortress.
The whole lay quiet and calm in the starlight. No sign of human
movement. Nanette said:
"But, Edward, isn't any one in sight? No people—"
And Alan: "Ed, look! There—back there on the wall—"
It seemed on the distant wall that a dark figure was moving. A
guard? A pacing sentry?
And now, other movement. A figure appeared in the tower doorway.
The figure of a girl. She came slowly from within and stood at the
head of the entrance steps. The glow of an interior light outlined her
clearly: a slim, small girl, in a robe faintly sky-blue. Flowing hair, pale
as spun gold with the light shining on it like a halo.
She stood a moment, quietly staring out into the night. We could not
see her face clearly. She stood like a statue, gazing. And then,
quietly, she turned and I caught a glimpse of her face—saw it clearly
for an instant, its features imprinted clearly on my mind. A young girl,
nearly matured; a face, it seemed, very queerly, singularly beautiful—
She moved back into the tower room. There was a sudden blur over
the scene. Like a puff of dissipating vapor, it was gone.
The television screen before us glowed with its uneven illumination.
The color-filters whirled and flashed their merging beams. Everything
was as it had been a few moments before. The broadcasting studios
would not come in. Our apparatus was not working properly. The
frequency ranges were indeterminate. It was grounded badly. Or our
fundamental calibration was in error. Something wrong. What, we
never knew.
But we had seen this vision—flung at us, from somewhere. A vision,
shining clear in every detail of form and color and movement. The
image of things solid and real. Things existing—somewhere.
That was the first of the visions. The second came that same night,
near dawn. We did not dare to touch our instrument. The dials, we
found, had been set by me at random with a resulting wave-length
which could not bring in any of the known broadcasting studios. We
left them so, and did not try to find what might be wrong with the
hook-up. The image had come; it might come again, if we left things
as they were.
We sat, for hours that night, watching the screen. It glowed uneven;
many of its cells were dark; others flickered red and green.
Nanette at last fell asleep beside us. Alan and I talked together softly
so as not to disturb her. We had promised that if anything showed,
we would awaken her. We discussed the possibility. But often we
were silent. The thing already had laid its spell upon us. This vision,
this little glimpse of somewhere. It had come, perhaps, from some
far-distant world? Incredible! But I recall that instinctively I thought
so.
Yet why should I? A tower, and a dim expanse of starlit landscape.
And a girl, humanly beautiful. Surely these were things that could
exist now on our earth. The atmosphere, we knew as a matter of
common everyday science, teems with potential visions and sound.
Alan strove to be more rational. "But, Ed, look here—we've caught
some distant unknown broadcaster."
"But who broadcasts an outdoor scene at night? This is 1945, Alan,
not the year 2000."
He shrugged his wide, thin shoulders. His face was very solemn. He
sat with his long, lean length hunched in his chair, chin cupped in his
palm, the attitude of a youthful, pagan thinker, fronted with a
disturbing problem. But there was a very boyish modernity mingled
with it; a lock of his straight black hair fell on his forehead. He seized
it, twisted it, puzzled, and looked up at me and smiled.
Then Alan said a thing very strange; he said it slowly, musingly, as
though the voicing of it awed him.
"I think it was on Earth. I wonder if it was something that has been,
or that will be—"
It came again, near dawn. The same tower; the same serene, starlit
spread of landscape. The same grim encircling wall, with stalking
dark figures upon it. We did not at first see the girl. The tower
doorway stood open; the room inside glowed with its dim light. A
moment of inactivity; and then it seemed that at this inexplicable
place at which we were gazing—this unnamable time which seemed
the present on our screen—a moment of action had come. A dark
figure on the wall rose up—a small black blob against the background
of stars. The figure of a man. His arm went up in a gesture.
Another figure had come to the tower doorway, a youth, strangely
garbed. We could see him clearly: white-skinned, a young man. He
stood gazing; and he saw the signal from the wall, and answered it.
Behind him, the girl appeared. We could see them speak. An aspect
of haste enveloped all their movements—a surreptitious haste,
furtive, as though this that they were doing was forbidden.
The signal was repeated from the wall. They answered. They turned.
The youth pushed the girl aside. He was stooping at the doorway,
and her eager movements to help seemed to annoy him. He
straightened. He had unfastened the tower door. He and the girl slid
it slowly closed. It seemed very heavy. They pushed at it. The
doorway closed with them inside.
We had awakened Nanette. She sat tense between us, with her long
braids of thick, chestnut hair falling unheeded over her shoulders, her
hands gripping each of us.
"Tell me!"
Alan said: "That door's heavy. They can't close it—yes! They've got it
closed. I fancy they're barring it inside. The thing is all so silent—but
you could imagine the clang of bars. I don't see the guard on the
wall. It's dark over there. There's no one in sight. But, Nan, you can
see that something's going to happen. See it—or feel it. Ed, look!
Why—"
He broke off. Nanette's grip tightened on us.
A change had fallen upon all the scene. It seemed at first that our
instrument was failing. Or that a "hole" had come, and everything
momentarily was fading. But it was not that. The change was
inherent to the scene itself. The tower outlines blurred, dimmed. This
image of its solidarity was dissolving. Real, solid, tangible no longer.
But it did not move; it did not entirely fade. It stood there, a glowing
shimmering wraith of a tower, gray-white, ghostlike. A thing now of
impalpable aspect, incredibly unsubstantial, imponderable, yet visible
in the starlight.
The wall was gone! I realized it suddenly. The wall, and the garden
and the flowers and the stream. All the background, all the
surrounding details gone! The tower, like a ghost, stood ghostly and
alone in a void of shapeless gray mist.
But the stars remained. The purple night, with silver stars. But even
they were of an aspect somehow different. Moving visibly? For an
instant I thought so.
Time passed as we sat there gazing—time marked only by my dim
knowledge that Alan was talking with Nanette. Changes were
sweeping the scene. The gray mist of background under the stars
held a distance unfathomable. A space, inconceivable, empty to my
straining vision.
And then, presently, there were things to see. It seemed that the
infinite had suddenly contracted. The wraith of the tower stood
unchanged. But abruptly I saw that it stood in a deep wooded area,
rearing itself above a tangled forest. A river showed, a mile or so
away, crossing the background in a white line. The stars were gone;
it was night no longer. A day of blue sky, with white-massed clouds.
The sun shone on the distant river.
The tower stood, faded even more in the daylight. I searched the
forest glade around its base. Figures were there! Familiar of aspect; a
group of savages—of this earth? Yes, I could not mistake them:
Indians of North America. Red-skinned, feathered figures, in vivid
ceremonial headdress as though this day they had been dancing in
the forest glade. And saw the strange apparition of this tower. Saw it?
Why, they were seeing it now! Prostrated in a group on the mossy
ground, awed, fear-struck; gazing fearfully upon this thing unknown;
prostrate because this thing unknown must therefore be a god; and
being a god, must be angry and threatening and to be placated.
The vision was more than a glimpse now. It held, vividly persisting in
every reality of its smallest detail. The same space of that forest
glade. But now man called it "Central Park." No ignorant savages
were prostrated here now, before this phantom of the tower. No one
here—
And then I saw, in the foreground, a man in a blue uniform standing
on one of the paths of the park. A light shone on him. He stood,
pressed backward against the light-pole; staring at the tower with a
hand upflung against his mouth. Instinctive fear. But not prostrate
upon the ground. He stood tense. And dropped his hand and stood
peering. Incredulous.
"Ed—see that police officer there! He sees the tower!"
The tower door opened. I fancied I saw the figure of the girl step
furtively out and disappear into the shadows of the starlit park. I
could not be sure. It was dark. But in the background, above the
Metropolitan Museum, above the city buildings lining Fifth Avenue, I
could see that the east was glowing with the coming dawn. A mass of
billowing clouds flushed pink.
I saw the girl step furtively out into the starlit park.
The tower doorway was closed again. The tower melted into a
specter, illusive, tenuous, but still there. A gossamer tower. And then,
it was gone. Everything was gone. But as though, in my fancy, or
perhaps merely the persistence of vision, for one brief instant I
seemed to see the park empty of the intruding tower; and the
policeman, standing there incredulous at this that he had seen which
was now vanished.
The television screen was empty of image. Alan was on his feet. "Ed!
Look at the sky out there! That's the same sky!"
The workshop faced to the east. The same star-strewn sky of the
vision was outside our window—the same sky, with the same
modeling of clouds, flushed with the coming day.
Alan voiced my realization. "Why, that's this dawn we've been seeing!
That tower—in the park behind us—that policeman is out there now
—he saw it! That's today! That just happened—now!"
CHAPTER II
THRESHOLD OF A MYSTERY
It was clear to us, or at least in part, what had occurred. The little
fragment of Space occupied by Central Park, was throughout both the
visions, what we had been seeing. The tower was there; the tower
had not moved—in Space. We had first seen it in some far-distant
realm—of Time. And it had moved, not in Space, but in Time. We had
glimpsed the tower almost stopping, frightening those savages who,
in what we call the Past, were roaming this little island of Manhattan.
The same Space. The same inclosing rivers. But no city back then. Or
perhaps, near the southern end, where the converging rivers merged
in broader water, there might just then have been a group of
struggling settlers. Cabins of hewn, notched logs, stockaded against
the marauding redskins of the adjacent forest. A dense forest then,
was north of the trail called "Maiden Lane." Far up there was this
Space which now we call Central Park, with the great New York now
around it, grown in three short centuries from the infant New
Amsterdam.
And the tower, immovable in Space, had come in Time to 1945. Had
paused. Now. This very morning. Had stopped; and frightened a
policeman of 1945, in Central Park. And then had become again a
phantom, and in another instant, wholly invisible.
I recall my surprise at Alan's apparent understanding of this
incredible thing which had come, all unheralded, upon us.
I found suddenly that there were things in the life of Alan which I did
not know. Things he shared with Nanette; but not with me. An
eagerness was in his manner as we discussed this thing. His dark
cheeks were flushed with emotion; his dark eyes had a queer glow of
excitement.
"I think, Ed, that I can understand a good many things of this. Things
father knew, in theory—things he told me—" He checked himself. And
when I questioned, he stopped me.
"Wait, Ed. It's confusing. It seems—tremendous." He stumbled over
the word, but repeated it. "Tremendous." And then he added: "And
perhaps—dastardly."
What could he mean by that? Nanette said: "But, Alan—that girl—
there was a girl, came here to New York this morning—"
The girl! The shadow girl, from out of the shadows! She, at least,
was something tangible now. We had seen her in Central Park this
morning. The television screen now was vacant. It was destined
never again to show us anything, but that we did not know. We had
seen a girl arriving? Then, if so, she must be here—in Central Park,
now.
Alan said: "I wonder if we should report it. That girl probably will be
found." He had been into one of the other rooms of the small
apartment a few moments before. He drew me there now. "Ed, I
want to show you something significant. Perhaps significant—I don't
know, yet."
Nanette followed after us. The bedroom faced south. We were high in
a towering apartment building, just east of Fifth Avenue.
Over the lower roofs of the city I could see far to the south. In the
waning starlight down there a single searchlight beam was standing
up into the sky.
"Where is it?" I demanded. "The Battery? A ship in the harbor? Or
Staten Island?"
Somewhere down there, a white shaft of light standing motionless. It
was fading in the growing daylight.
"On Staten Island," said Alan. "It's a small searchlight on the roof of
the Turber Hospital. It often stands like that. Haven't you ever
noticed it?"
I supposed I had. But never thought of it. Why should I?
Alan added musingly: "It's queer—because I was wondering if it
would chance to be there now, and there it is."
"But, Alan, see here—you're making a mystery of this. Heaven knows
it's mysterious enough of itself, without your adding more."
Alan smiled wryly. "I threw him out once—a snaky sort of fellow. We
want none of him—do we, sister?"
"No," she said. "Tell Edward about Dr. Turber's life—father's theory."
"It wouldn't mean much to you, Ed. There were things—so father
thought—of mystery about this Turber. Things inexplicable. His
curious, unexplained absences from the hospital. Things about him
which father sensed. And the searchlight, that for no apparent reason
for years now has been occasionally flashing from the hospital roof. It
marks Turber's absence, I know that much."
"And Turber's assistant," said Nanette. "That Indian—whatever he is
—at the hospital."
"Yes. He, too. Father pieced it together into a very strange, half-
formed theory. I have always thought it must have been born of
father's dislike for the fellow. And father told it to me the morning of
his death. That, too, I felt, must have colored it. Father's mind, there
at the last, roaming a little—not quite clear. But this, Ed—this
morning—these visions of ours—we saw them, you know, we can't
deny that. They seem vaguely, to fit. Oh, there's no use theorizing—
not yet. That girl we saw—"
Upon the girl it hinged, of course. The vision was gone. And at best it
was only a vision. But the girl might be real—here in 1945.
We did not report what we had seen to the police. Perhaps we had
fancied that a girl came out of a phantom tower in Central Park this
morning. And, if we had seen it on the television, even so, it might
not actually have happened.
Had there actually been a policeman, there in the park, who had
seen it? And was there existing, here in New York today, this girl of
the shadows?
We waited, and the thing turned tangible indeed! Became a reality,
for presently we learned that it had touched others than ourselves.
The early afternoon papers carried a small item. Some of them put it
on the front page. But it was only a joke—a little thing to read, to
laugh at, and forget. There had been in actuality, a policeman at
dawn in Central Park; and he had been less reticent, more incautious
than ourselves. He had told what he saw. And the newspapers wrote
it:
CHAPTER III
THE GIRL PRISONER
We left Nanette at home and Alan and I started for the Turber
Hospital about three o'clock that same afternoon.
Was this the girl of our visions, now the "victim of amnesia" at Dr.
Turber's Sanatorium? Or was it merely some other girl whose
memory had gone, and whose prosaic parents soon would come to
claim her? Things like that frequently happened. We determined to
find out. Both of us were sure we would recognize her.
From the ferryhouse on Staten Island we took a taxi, a few miles into
the interior. It was an intensely hot, oppressive afternoon—the sun
was slanting in the west when we reached our destination.
I found the Turber Hospital occupying a fairly open stretch of country,
about a mile from the nearest town. It stood on a rise of ground—a
huge quadrangle of building, completely inclosing an inner yard. It
was four stories high, of brick and ornamental stone; balconies were
outside its upper windows, with occasional patients sitting in deck
chairs with lattice shades barring the glare of sunlight.
There were broad shaded grounds about the building—the whole
encompassing, I imagined, some twenty or thirty acres. Trees and
paths and beds of flowers. A heavy, ten-foot ornamental iron fence
with a barbed wire top inclosed it all. A fence which might have been
to keep out the public, but which gave also the impression of keeping
in the inmates. The place looked, indeed, very much like the average
asylum. There was an aura of wealth about it; but, unlike most such
places, also a look of newness.
"Turber built it in the last eight years," said Alan. "He's doing very
well—rich patients of the neurotic, almost insane but not quite,
variety."
There were some of them about the grounds now. Off at one end I
could see tennis courts with games in progress.
"Spent a lot of money," I commented.
"Yes—they say he's very rich."
Bordering the grounds was a scattered, somewhat squalid
neighborhood of foreigners. We had crossed a trolley line and
ascended a hill arriving at the main gateway of the institution. I
glanced back through the rear window of our taxi. We were on a
commanding eminence; I could see across the rolling country, over
several smoky towns to New York Harbor; the great pile of buildings
on lower Manhattan was just visible in the distant haze.
The gatekeeper passed us at Alan's request to see Dr. Turber. Our
taxi swung up a winding roadway to the porte-cochere at the side of
the building.
"Will he see us?" I demanded.
"If he's here, I imagine he will."
"But you're not, even outwardly, friends?"
He shrugged. "We speak pleasantly enough when we have occasion
to meet. So long as he lets Nanette alone."
We were ushered into the cool quiet of a reception room. The white-
clad nurse said that doubtless Dr. Turber would see us presently—he
was busy at the moment. She left us.
It was a fairly large room of comfortable wicker chairs; Oriental rugs
on a hardwood, polished floor; a large wicker center table strewn
with the latest magazines. A cool, dim room; there were broad
French windows, with shades partly drawn and additionally shrouded
with heavy velvet portieres across the window alcove.
We had seated ourselves. Alan drew his chair nearer to mine. He
spoke softly, swiftly, with an eye upon the archway that gave onto
the main lower corridor down which the nurse had gone.
"I was thinking, Ed—when Turber comes—we've got to have some
excuse for seeing the girl."
"Yes, but what?"
"Tell him—I'll tell him you're a newspaper man. Some of them have
been here already, no doubt. We won't go into it—you won't have to
say much."
I was, in actuality, a pilot in the mail service from Bennett Field down
the coast to Miami. I was off now, these three summer months. But
posing as a newspaper man was out of my line.
"I don't know," I said dubiously. "I have no credentials. If he asks me
—"
"I'll do most of the talking, Ed." He jumped up suddenly, went to
glance into the corridor, and came back. "Come here, I want to show
you something."
He drew me to the windows. We pushed the portieres aside, and
raised one of the shades. We were some ten feet above the level of
the paved inner courtyard. Alan murmured: "Just look, Ed—queer
construction of this place! I've often wondered, and so did father."
Queer construction indeed! The quadrangular building completely
inclosed this inner yard. At the basement level it was all normal
enough. Windows and doors opening from what seemed engine
rooms; the kitchen; the laundry. And at this first story it was normal
also. These windows through which we were looking; and other
windows and occasional balconies in each of the wings. But above
this first story there were three others and then the flat roof above
them. And in these three upper floors so far as I could see there was
not a window! Nothing but the sheer, blank stone walls!
"What would you make of that, Ed? Crazy architecture—they said
that when the place was built. There are no courtyard rooms at all in
the upstairs floors—nearly half the building goes to waste. Turber
designed it—"
"But what did he say?"
"Nothing much, I fancy. It was his own business. Perhaps, merely
that he could afford the luxury of all outside rooms for his patients.
And look at that inner building—"
The courtyard was perhaps two hundred feet long, by half as wide.
In its center was an oblong brick building, a hundred feet by sixty
possibly—and not quite as high as the roof of the main structure.
From the angle at which we were gazing, I could see the full front
face of this smaller building, and part of one of its ends. It had not a
window! Nor a door, except one, very small, at the ground in the
center of the front!
"Turber's laboratory," said Alan. "At least, that's what it's supposed to
be. That one door—nothing else. It's always locked. Nobody has even
been in there but Turber, and his Indian assistant. Father once talked
with the builders of this place, Ed. That laboratory is nothing but two
small rooms at the ground level here in front. All the rest is just four
solid brick walls inclosing an inner empty space! What's it for?
Nobody knows. But people talk. You can't stop them. Turber's
employees here. And most of all, his patients—not quite sane. They
talk—of ghosts—things mysteriously going on inside those walls—"
People—not quite sane—talking of things unknowable. But I was
wholly sane; and as I stood there, gazing at the shadows of twilight
gathering in this inner courtyard; the blank upper walls of the large
building turning dark with night; the smaller one, standing blank and
silent in the courtyard—the whole place seemed suddenly ominous,
sinister!
A step sounded in the room behind us. I started violently; I had not
realized how taut were my nerves. We dropped the portieres hastily,
and left the window. Turber?
But it was not he. A young man stood before us. He was dressed in
flannels and a shirt open at the throat. He carried a tennis racket.
"Well," said Alan. "How are you, Charlie? Been playing tennis? You
remember me, don't you?"
A good-looking young fellow. He said: "Do I? You were here once
before, weren't you? I saw you in here with Dr. Turber."
"Yes," said Alan. "Let's sit down, Ed. How are you, Charlie?"
We sat down. Charlie stood before us. "I've been playing tennis. Is
the doc coming here to see you?" His face clouded. "You're all right,
aren't you? My mother said—" He was addressing me. "My mother
said—but look here, don't pay any attention to your mother if she
says you're sick. Don't you do it! I did it, and my mother said I'll put
you in here and make you well. So look what happened to me—I'm in
here."
I met Alan's glance. Alan said: "Well, that's fine, Charlie. And you're
better, aren't you?"
"Yes." He hesitated; then he added: "I'm better, and I'd like to help
you get better. I was thinking that, last time I saw you. I like you—
very much."
"Do you, Charlie? That's nice of you."
"Yes. You're a friend of mine—'Friends sturdy and true' I was thinking
—that's us."
He turned suddenly away. He took a step toward the window, and
came back. His face had wholly changed; a look of cunning was on it;
his voice low, quivering, dramatic.
"You were looking out there when I came in. Strange things go on
out there—but you can't see them in the daytime!"
"Can't you?" said Alan. "I was looking—"
"I've seen them—at night. I've got a way to see them any time I
want to. From the roof. If you get put in here—I'll show you—maybe.
Because we're friends."