“Rickard Julin? We had a chat with him, but he says he hasn’t heard from Danny Katz in six months. And he seems trustworthy. Ex-military.”
He should be checked out more thoroughly, she thought; the military part of Katz’s history interested her.
“And the bites on Angela Klingberg’s neck—have you found a DNA match?”
“We don’t need it to link the perpetrator to the scene and the murder.”
They sat in silence for a moment. Not touching their coffee. There was still tension between them. Why the hell had she slept with him?
“Maybe I should get moving,” he said hesitantly. “Before people start to call, wondering where I am.”
She just nodded.
“Can’t we see each other again, Eva?”
“Sure. We’ll keep in touch about this.”
“I mean privately.”
“We’ll see, Danielsson. I’m not interested in a relationship.”
She turned to him, looked right into his puppy-dog eyes and saw the very clinginess that she couldn’t handle. That’s what you get, she chided herself, when you mix business and sex.
As soon as Danielsson left, Eva took out the copy of the printouts from the GPS. The investigators had been interested only in the dates around Joel Klingberg’s disappearance and Angela Klingberg’s death. But what about in between?
Angela Klingberg had hardly used the car after her husband’s disappearance; it seemed she’d only gone on short trips around Östermalm and one slightly longer one to Djursholm.
She checked out the address online. Pontus Klingberg’s home address. Angela had driven there ten days before she was murdered, arriving at seven in the evening and leaving again at . . . nine o’clock the next morning.
Surely the divorced CEO of Klingberg Aluminum would have an explanation for why his nephew’s wife had stayed overnight if Danielsson had thought to ask: Angela had been worried about her missing husband, he had tried to calm her, comfort her, he’d asked her to stay for dinner, and then she’d had some wine and had decided to sleep over in the guest room.
Unless something was going on between them?
She went further back in the GPS log. All the information since the new year had been saved. The car had mostly been driven from the couple’s home on Skeppargatan to Klingberg’s office at Norrtull. But the trip to Djursholm recurred at regular intervals, and there was an overnight stay each time. She looked for more overnights in other places and found another address, in Sörmland.
She googled the address.
Pontus Klingberg’s country place, a manor house just outside of Katrineholm. Several overnight stays there.
She loaded the copy of the hard drive onto the laptop, searching through the tabs for calendar tools, and she found what she was looking for: Joel Klingberg’s digital planner.
The man was organized, that much was clear; his calendar was full of birthdays, to-do memos, appointments for car inspections and doctor’s visits, work schedules, meetings, conferences, business trips.
She compared them to the dates in the GPS log. Check. The overnight trips had been made when he was out of town.
Kinky, she thought. It seemed Angela had been having an affair with her husband’s uncle.
She put this aside for the time being and called up the photo viewer. There were only a few hundred pictures.
She opened the slideshow menu and brought up the most recent series of photos: about fifty of them, set to classical music. Vacation photos. Angela and Joel Klingberg on various trips—celebrating midsummer at a fancy country home; traveling in Italy; lying on a beach in some tropical paradise; sailing pictures from some sort of regatta, maybe in Sandhamn; and standing together on the deck of a luxury yacht.
She stopped the slideshow, clicked back to the yacht, enlarged the picture, and zoomed in on the name on the bow: St. Rochus.
She searched her memory for the time she had stood on the beach in Hässelby, watching Jorma and Katz swim out to a boat. St. Rochus . . . the name was still there, like an echo from the past.
She stood up, went to the living room, picked up her phone from the sofa where she had seduced Danielsson, and dialed the number of the Transport Agency.
“Please transfer me to the Registry of Ships,” she said. “I need information about the owner of a boat in Stockholm.”
The network posed the question in Russian: “Kakoi pseudonim tui vuiberyosh?” Which alias do you choose? Katz entered the first word that came to him: Baruch. As he entered a password, he wondered why it had been that word. He was starting to feel tired. Eight hours straight on IRC networks in order to find someone who could help him. He’d only found script kiddies so far, kids who used prewritten codes and got scared when they realized what he was looking for.
Baruch? he thought again. Because it was Friday, and that was the first word in the Hebrew Shabbat prayer: Baruch ata Adonai . . . Praise be to you, lord our God.
Strange. He hadn’t said the Shabbat prayer since he was thirteen, that time with his father in the orthodox synagogue on Sankt Paulsgatan where Dad used to take him on the important holidays for some reason. He didn’t know much about Benjamin. Just that he’d come to Sweden as a refugee right before the war and that his parents, Chaim and Sara, had emigrated to Israel in the ’50s and lost contact with their son. Or stopped contacting him.
He hit Enter. The screen flickered. He was asked to repeat the password. He typed it again.
He thought of Jorma while he waited. He was filled with feelings of hate and revenge. Jorma was on a respirator at Söder Hospital. Katz had managed to get his heart beating again, and he’d called 112 and propped the door open for the ambulance crew before he left the apartment. He had sat in Jorma’s car a hundred meters away, watching as he was carried out on a stretcher and driven off. Then he had called the most recently dialed number on Jorma’s phone and reached one of his friends, Emir, who helped him find a new hideout in Västberga. That was where he was now. In a one-bedroom apartment on the fourth floor.
He looked at the computer screen again. He had come in from the cold; he saw the graphics unfold and the chat room was open. One avatar was of Pikachu. Another was Han Solo from Star Wars. People who refused to grow up.
The network was called Oxymoron. The person who had recommended him, a certain Hunky Dory with whom he’d once shared programs online, told him he would find help here.
The temporary operator’s name was Trotsky; he had been the first to enter the channel and was denoted by his “@” prefix.
It took several minutes for him to ask who Baruch was and what he wanted: Kto tui . . . chto tui khotyesh?
I need help, Katz wrote back: Mne nuzhna pomosh!
Dobro pozhalovat, wrote Trotsky. Welcome.
They were alone in the chat room now, him and the operator. Katz explained his errand; he needed help with a “superuser do” command to take control of a server.
Silence. No reaction at first. There were other conversations going on simultaneously, in hidden rooms that Trotsky was moderating. Katz couldn’t follow them.
It took several minutes for him to answer: Chto ya polutyu vzamen? What will you give me in return?
This was common in an IRC environment: people would exchange advanced programs or information, often shady things. And it had to be new, something no one had seen before. But Katz had nothing to offer, at least not this time. He explained that he had come empty-handed.
Silence again, and then Trotsky asked him which operating system he was dealing with.
Sun OS Solaris.
Kakuyu versiyu? Which version?
Katz told him what little he knew about the original version and the updates.
Trotsky sent a smiley and asked him to wait.
Then he showed up again and asked if Baruch was Jewish: Tui yevrey, Baruch?
Da.
Prove it!
Without thinking, he typed the rest of the Shabbat prayer: . . . Eloheinu Melech haolam asher kid’shanu b’
mitzvotav v’ratzah vanu lehadlik ner shel Shabbat.
And Trotsky immediately replied: It wouldn’t matter if you were a goy, Baruch. You wouldn’t have gotten access here if Hunky Dory hadn’t vouched for you. Who are you going to hurt?
Evil people, he replied.
Shabbat shalom, Baruch. And good luck.
A link popped up on the screen. A few minutes later, he had the source code for the program on the hard drive. He would have to add quite a bit of code, he realized, and look for bugs to get it to work just as he wanted it to. A few hours’ work. It had been a long time since he’d programmed.
It was one in the morning when he tried to get into Capitol Security’s server. He heard a dull hum coming from the networked computers in the closet. His own Linux machine was connected to two hard drives, a router, and a modem he had taken from Jorma’s apartment.
It had taken him a few hours to get everything in place. A fake IP address registered under a fake name was the closest link in the chain that led to the screen before him. His own server was routed through several other servers with hacked accounts: a university computer in Paris, among others; another one in Boston, finally anonymized in the Tor network’s tunnel. In any case, if a system operator were watching the traffic, he would have trouble tracing him.
Everything felt completely unreal. He had considered Julin a friend, almost like an older brother. Everything he had done for Katz throughout the years, helping him get clean, getting him a job, putting him in touch with his contacts, helping him out when he had problems. Their time in St. Petersburg when they got to know each other, all the hours they’d sat in cafés in Stockholm, speaking Russian to keep their abilities up. He didn’t understand.
But everything was pointing at Julin. He was the only one who had known that Katz was going to meet Angela on the night of the murder. And he was the only one who had known that he was hiding at a friend’s house in Midsommarkransen. If it were Julin, Katz swore he would strike back. Mercilessly. At the time of his choosing.
But what he didn’t understand was why Julin had first planted evidence that fingered him as the perpetrator, and then sent a person to murder him . . . a person who, accidentally, almost killed Jorma instead.
Because Julin thought he was on his trail? Because he had managed to hide from the police, against all odds?
“Your old army friend,” Julin said, when he’d given him the printout of the photo out in Smedslätten. Katz hadn’t managed to capture the thought then, but the crux of the matter was that he’d never told Julin how he knew Klingberg.
The computer-case fans whirred from the open closet. The program was working its way closer and closer to a hole in Capitol’s server.
More flows. Another prompt, demanding another command.
The program he’d received was a relative of the legendary “John the Ripper” program, developed to crack encrypted passwords, but this one was much, much faster.
Suddenly, Katz stood on the threshold of having full control of the system. The program kept the sudo-command function open and prevented it from sounding an alarm as it worked on decrypting the code. It only took a few minutes and he was in.
He had obtained access to the administrator account. The only question was how much time he had.
He was inside one of the work computers in there; it belonged to someone who hadn’t logged out, who was still there, working overtime. The person was surfing the net—an online casino, he saw.
Katz felt his pulse increase.
No one knows I’m here, take it easy.
He closed his eyes and saw Jorma before him, pale as a ghost under an oxygen mask in the ICU. Katz had been in touch with Jorma’s sister; she was keeping him informed about his condition. It didn’t look good. There were severe wounds to his neck. Suffering, insane amounts of suffering, and he swore he would get revenge.
He looked at the screen.
The user had left the online casino and had started working again, busying himself with an accounting program.
He was right. Julin was involved. There were files about Klingberg Aluminum on the computer.
He worked quickly, copying files and dragging them to a folder, searching through back doors. He found a hidden copy of a payment to a foreign account from one of the Klingberg Group’s subsidiaries, personal information about Pontus Klingberg, telephone numbers, and a few photographs whose contents he planned to check later. He found files marked with the letters KLINGBERGVIP, dragged as much information as he could into the folder and saved it on his hard drive.
Then the security level suddenly increased. A system operator was looking for discrepancies in the data flow and had gotten nervous. Katz interrupted his hack, deleted the log files, erased his footsteps, and shut down the computer.
Fifty million kronor. That was how much had been transferred to a foreign account. The SWIFT code and the IBAN number didn’t tell him anything. But the name of the payee was there: Klingberg Aluminum. Extortion, but for what?
Moreover, the company had purchased unspecified security services from Capitol, but, unlike the sum paid to the foreign account, these were recorded in the books.
There were a few scanned newspaper articles about Klingberg Aluminum’s previous business interests in the sugar industry, about the low-paid workforce. What did it mean?
There was nothing about Joel.
The files marked “VIP” were empty and couldn’t be restored. He could see that the information in them had been deleted on the same day Joel Klingberg disappeared.
Julin had removed all confidential information from the computer and moved it elsewhere. To his house in Smedslätten, to a personal computer, or to a plain old filing cabinet.
St. Rochus. According to the Registry of Ships, it was a thirty-meter luxury yacht that the Klingberg family had owned since the early ’50s. It had sometimes sailed under the Dominican flag, but it had always been insured in Sweden. It had been purchased long ago in Santo Domingo by the founder of the empire, Gustav Klingberg, but then his son Pontus had inherited it. It had been moored at various marinas in Lake Mälaren over the years, whenever it wasn’t in the West Indies.
In 1984, the year of the incident, it had been in harbor at Ekerö.
At regular intervals it had been kept at the shipyard in Ulvsunda, not far from Katz’s home. When Eva checked Klingberg’s GPS, she discovered he had been near there on the day he disappeared. She had called the shipyard. The boat hadn’t been there for several years, and they couldn’t say where it might be. Apparently, it was sailing with a hired crew.
But they did have pictures of it; they faxed them over, and the more she looked at them, the more certain she was. The boat anchored off Hässelby Strand that time had been St. Rochus.
She parked the car outside the office and walked the short distance to the old police station Agnegatan. She showed ID at the reception desk and asked to be let in.
She had searched for more information on the Klingberg family and read more about the tragedies that had befallen them over the years. Like a curse, she thought. Unless there was some connection between them?
The head archivist followed her through the basement hallways to the criminal records, introduced her to the attendant, and asked him to help her.
On the other side of the gate were 16,000 shelf-meters of materials about crimes committed before the computer age: crime-scene photos, investigations, records, transcripts of interrogations, all arranged chronologically in folders that were themselves arranged according to the date when they had been entered. There was no physical evidence; that was all tossed in the trash when the investigation petered out, and the case files buried in the archive.
She filled out the form the attendant gave her. Fifteen minutes later he showed up with the archive cart and placed the folders on the reading table.
Gray, printed covers: K5253-70. And K2065-79.
She took the first folder, from 1970, and opened it.
A kidnapping in
vestigation. The written materials surrounding Kristoffer Klingberg’s abduction forty-two years earlier.
It took her an hour to read through it. The investigation had been put on ice after less than a year. The Klingberg family—aside from the desperate parents, Jan and Joanna—hadn’t been particularly cooperative. For example, Gustav, the founding father, had refused to answer the police’s questions. They hadn’t gotten any further after the initial police work. Later, when the case had gone cold, it had been handed off to an office of the criminal police, where it gathered dust over the years and eventually fell under the statute of limitations and ended up here.
She moved on to the next folder: the police investigation of Jan and Joanna Klingberg’s suicide in 1979, with the attached autopsy report.
They had been found in the garage at the same address in Sörmland she’d seen in Klingberg’s GPS log. The manor had belonged to Gustav Klingberg back then. There was no foul play suspected; the deaths had been written off as suicide. And yet it had been stored here. Why?
She took out the autopsy report and read through it. The couple had been sitting in the backseat, holding hands as they slowly went to sleep, lost consciousness, and finally asphyxiated. Respiratory failure and, presumably, severe lactic acidosis. The carbon monoxide had bound to the hemoglobin molecules in the blood at the expense of oxygen and had quickly led to hypoxic heart failure.
They had looked peaceful, the doctor wrote—no signs of regret. The blood tests had shown that they were heavily intoxicated when they died.
She read on, through a more detailed description of the state of the bodies, and gave a start. There had been a suck mark on Joanna Klingberg’s neck. And one on Jan Klingberg’s. The pathologist had no comment.
She put the paper aside and stared at the wall in front of her. What had the doctor thought? That they had shared some passionate farewell kisses?
Suck marks are not bite marks.
She took out the initial report again. She read the report from the police patrol that had been first on the scene, along with the ambulance.
The Boy in the Shadows Page 13